Pull to refresh
-4
0
Send message

10 практических применений языка Go

Level of difficultyEasy
Reading time4 min
Views2K

Go — это современный язык программирования, разработанный Google. Он обладает высокой производительностью, простотой использования и подходит для широкого спектра задач, от веб-разработки до системного программирования.

Ключевые особенности Go:

Высокая производительность: Go компилируется в машинный код, обеспечивая высокую скорость выполнения.

Простота использования: Синтаксис Go ясный и лаконичный, что упрощает процесс обучения и разработки.

Конкурентность: Go предоставляет встроенные средства для эффективного выполнения параллельных задач.

Статическая типизация: Статическая типизация помогает предотвращать ошибки во время компиляции.

Стандартная библиотека: Богатая стандартная библиотека Go предоставляет инструменты для различных задач, включая сетевое программирование, обработку данных и многое другое.

Читать далее
Total votes 19: ↑2 and ↓17-13
Comments7

Vosk vs Whisper — сравнение на raspberry pi 4b

Reading time7 min
Views1.9K

В статье предлагается рассмотреть работу младших моделей преобразования речи в текст на edge устройстве — raspberry pi 4b. Фраза будет непростая, хоть и короткая — в ней будут элементы и русской, и английской речи. В соревновательный состав войдут представители семейства whisper: whisper, whisper-cpp, whisper-jax и vosk. Будет проведена оценка скорости и точности работы. Также, в качестве бонуса, будет предпринята попытка перевести фразу с таджикского языка на русский с помощью vosk.
Читать дальше →
Total votes 5: ↑5 and ↓0+7
Comments3

Программирование для детей 12 лет: какое направление выбрать

Level of difficultyEasy
Reading time7 min
Views2.9K

Программирование кажется сложной темой, но научиться писать код может даже начинающий подросток без опыта. Как это сделать и какое направление выбрать детям 12 лет и старше? Предлагаем разобраться.

Сегодня школьники уже почти не интересуются традиционными секциями и кружками, часто предпочитают более современные занятия: они с охотой проходят курсы IT, увлеченно учатся программировать, создавать 3D-модели, игры и не только. Мы с коллегами считаем, что это стремление нужно поддерживать, а соответствующий интерес и потенциал — развивать, ведь даже маленький программист без опыта по мере обучения становится все ближе к информационным технологиям и одной из востребованных профессий будущего.

Читать далее
Total votes 15: ↑7 and ↓8+1
Comments7

Дообучаем Llama 3.1 у себя дома

Level of difficultyMedium
Reading time8 min
Views15K

Привет, чемпионы!

С каждым днем появляется все больше и больше LLM. Их метрики растут с таким же бешеным темпом. Но в узких областях знаний они до сих пор дают осечку. Почему это происходит и как с эти бороться? - Разбираем универсальный код для дообучения LLM на своих данных!

Дообучать LLM!
Total votes 24: ↑21 and ↓3+24
Comments16

Искусственный интеллект. Оптимизируем работу с файлами и поиск в сети при помощи ИИ

Reading time3 min
Views2.6K

Приветствуем дорогих читателей! Это вступительная статья по использованию ИИ в оптимизации различных задач. В этой статье мы рассмотрим установку бесплатного ИИ Llama и рассмотрим некоторые инструменты для распознавания и переименовывания файлов исходя из их содержимого, оптимизации работы в файловом менеджере и поисковике.

Дисклеймер: Все данные, предоставленные в статье, взяты из открытых источников. Не призывают к действию и предоставлены только для ознакомления и изучения механизмов используемых технологий.

Читать далее
Total votes 7: ↑1 and ↓6-3
Comments0

Логика мышления. Часть 5. Волны мозга

Reading time15 min
Views78K


Итак, мы подошли к описанию одного из ключевых принципов описываемой модели. Этот принцип ранее не использовался ни в нейронных сетях, ни при описании работы мозга. В связи с этим я крайне рекомендую ознакомится с предыдущими частями. Как минимум необходимо прочитать четвертую часть без которой описанное ниже, будет совершенно непонятно.

В предыдущей части мы говорили о том, что активность нейронов делится на вызванную и фоновую. Отголоски фоновой активности наблюдают, снимая электроэнцефалограмму. Записываемые сигналы имеют сложную форму и зависят от места приложения электродов к голове, но, тем не менее, в них достаточно четко прослеживаются отдельные гармонические составляющие.
Читать дальше →
Total votes 40: ↑36 and ↓4+32
Comments67

Квантовые эксперименты на дому. Строим квантовый компьютер из лазера и полимеров

Level of difficultyMedium
Reading time21 min
Views21K

У меня хорошая новость для тех, кому надоело читать мои нудные лонгриды по квантовой теории и философии физики. В этой статье будет одна практика – квантовые эксперименты в домашних условиях, с минимальным бюджетом и без специального оборудования. Я решил снять и наглядно продемонстрировать, как построить квантовый компьютер своими руками и выполнить на нём квантовое вычисление - алгоритм Дойча. Всё, что я буду делать, вы сможете при желании воспроизвести у себя дома и убедиться, что это работает. Если у вас есть знакомые, которые сомневаются в квантовой механике и отрицают факт квантового превосходства, поделитесь с ними ссылкой на эту статью или видео, пусть посмотрят.

Читать далее
Total votes 97: ↑93 and ↓4+116
Comments67

Создание языка программирования с использованием LLVM. Часть 1: Введение и лексический анализ

Reading time7 min
Views59K
Добро пожаловать в учебник «Создание языка программирования с LLVM». Этот учебник знакомит вас с созданием простейшего языка программирования, и при этом показывает, каким оно может быть легким и интересным, а также даёт вам начальные знания, которые вы затем сможете применить на других языках программирования. Код в этом учебнике также может быть использован в качестве стартовой площадки для ваших творений с помощью LLVM.

Целью данного учебника является постепенное представление нашего языка, описание его пошагового создания. Это позволит нам охватить достаточно широкий спектр вопросов проектирования языков и использования LLVM, попутно показывая и объясняя код без огромного количества ненужных деталей.
Читать дальше →
Total votes 65: ↑61 and ↓4+57
Comments28

Как и зачем создавать кастомные сборщики мусора в Go

Reading time8 min
Views4.1K

В Golang (да в принципе во всех ЯП) управление памятью и эффективное использование ресурсов — основа создания высокопроизводительных приложений. Одним из важных инструментов, который помогает справляться с этой задачей, является сборщик мусора (на англ garbage collection). Встроенный сборщик мусора Go выполняет свою работу довольно хорошо, но иногда требуется более тонкая настройка, чтобы соответствовать специальным требованиям потребностям конкретного приложения.

Здесь нам и помогут кастомные сборщики мусора.

Читать далее
Total votes 10: ↑8 and ↓2+10
Comments6

Как я обучил модель, которая понимает русский лучше GPT 3.5 Turbo

Reading time3 min
Views7.3K

В этой статье я расскажу, как я смог обучить модель, которая превзошла GPT 3.5 Turbo на русскоязычной части MT-Bench. Также я рассмотрю новую конфигурацию для обучения на двух графических процессорах параллельно с помощью accelerate и deepspeed.

Особенный интерес представляет мой датасет для обучения. Он получен из сабсета мультиязычных промтов набора lightblue/tagengo-gpt4 на русском, английском и китайском, всего 10 тысяч примеров, сгенерированных с помощью GPT-4o. Это в 8 раз меньше, чем исходный набор Tagengo, но обученная на последнем Suzume, как показали бенчмарки, лишь очень незначительно превосходит мою модель на ru_mt_bench, а на англоязычном бенче и вовсе уступает ей. Это значит, что я в разы сэкономил на GPU за счет более высокого качества данных, полученных с помощью GPT-4o. 

Я использовал скрипт для получения ответов по заданным промптам. Для генерации русскоязычной выборки я изменил часть скрипта, чтобы выбрать все промпты на русском из Tagengo (8K примеров), так как основной фокус при обучении модели был на русском языке. 

В итоге я получил датасет ruslandev/tagengo-rus-gpt-4o и приступил к обучению.

Для этого я создал виртуальную машину с NVIDIA H100, используя сервис immers.cloud. Для достижения наилучших результатов по instruction-following (что проверяется на MT-Bench) я взял в качестве исходной модели meta-llama/Meta-Llama-3-8B-Instruct. Именно на ней обучена модель Suzume, у которой высокая оценка на MT Bench. Предыдущие эксперименты показали, что базовая Llama-3 8B,  а особенно ее четырехбитная версия для QLoRA  unsloth/llama-3-8b-bnb-4bit - значительно отстает по оценкам бенчмарка.

Читать далее
Total votes 25: ↑24 and ↓1+32
Comments18

Хочу ферму васаби в Подмосковье

Level of difficultyEasy
Reading time11 min
Views27K

С детства люблю растения. Не скажу, что между нами было что-то серьезное, но связь поддерживалась всю жизнь. Вместо растений я с головой ушел в IT, программирование и ML. И так бы жил, пока однажды мне не попалась статья, пробросившая мостик от моих навыков к давней любви. Это запустило цепочку событий (посмотрите у меня в профиле последние посты), которая длится уже 3 года и привела к идее строительства фермы по выращиванию настоящего васаби в Подмосковье.

Читать далее
Total votes 277: ↑275 and ↓2+338
Comments124

GitHub Copilot ➜ OpenAI API прокси. Serverless

Level of difficultyEasy
Reading time4 min
Views7.9K

Демо


Демо здесь.


Зачем


GitHub Copilot доступен бесплатно для подтверждённых учащихся, преподавателей и мейнтейнеров популярных проектов с открытым исходным кодом.


Даже если вы не подходите под указанные выше критерии, стоимость платной подписки
(Individual) более доступна, чем аналогичное предложение от OpenAI.
Она стоит всего 10 долларов и при этом обеспечивает доступ к GPT-4.


Если вышеперечисленные варианты вам не подходят — попробуйте полностью бесплатную альтернативу: openai-gemini.

Для чего


GitHub Copilot чат доступен исключительно в избранных IDE.


Проект openai-github-copilot позволяет использовать его с намного более широким спектром инструментов: предоставляется общий API, совместимый с OpenAI, который можно развернуть бесплатно.
(Однако подписка на GitHub Copilot всё так же требуется.)

Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments6

Увеличиваем оперативную память программиста, тренируясь в dual-n-back

Level of difficultyMedium
Reading time9 min
Views11K

Однажды я заметил, что мне сложно уследить за логикой внутри третьего вложенного цикла. Значения переменных в голове уплывали от меня по мере того, как я представлял, как они должны меняться по ходу кода.

После этого я задумался, как бы мне увеличить мозговой ресурс для решения подобных задач. И вбил в поисковик “Увеличение оперативной памяти человека”.

Через N времени гугления я наткнулся на ряд ссылок, ведущих к упражнению «Задача n‑назад», наиболее распространенный вариант которой называется «dual‑n-back».

Увеличить оперативную память
Total votes 25: ↑25 and ↓0+25
Comments11

Обзор микроволнового датчика присутствия Hi-Link LD2410

Level of difficultyMedium
Reading time3 min
Views22K

При построении умного дома одним из ключевых моментов является определение местоположения людей в доме. Поначалу кажется, что это должно быть просто, но на практике все оказывается не так гладко. Обычно для этого используют инфракрасные датчики движения, но они имеют свои недостатки.

Мой выбор пал на DIY микроволновый датчик Hi-Link LD2410, расскажу почему.

Читать далее
Total votes 38: ↑38 and ↓0+38
Comments79

Публикация локального сервера из дома в интернет

Level of difficultyEasy
Reading time10 min
Views50K

Приветики. Надеюсь, все отошли от новогодних, и можно писать и читать дальше. Как хозяин умного дома, я состою в чатике по Home Assistant, там прекрасное ответчивое комьюнити,
но периодически задаётся вопрос по тому, как собственно выставить свой веб сервис в интернет. И оказывается, что в двух словах тут не ответишь, а вменяемой инструкции на которую можно дать ссылку - нет. Так что теперь она будет здесь.

Рокет сайнса здесь не встретите, и в целом все эти вещи справедливы и работают уже минимум лет 10, просто не так тривиально понять, какой именно запрос нужно задать в гугл, и что делать.

Мы рассмотрим здесь несколько сценариев - статический белый айпи, динамический белый айпи, и серый. Для серого рассмотрим варианты с готовыми сервисами, с помощью Keenetic и с помощью ssh туннеля. Погнали!

Читать далее
Total votes 57: ↑55 and ↓2+62
Comments97

Тонкая настройка Whisper для многоязычного ASR с помощью Hugging Face Transformers

Reading time21 min
Views10K

Предлагается пошаговое руководство по дообучению Whisper для любого многоязычного набора данных ASR с использованием Hugging Face ? Transformers. Эта заметка содержит подробные объяснения модели Whisper, набора данных Common Voice и теории дообучения, а также код для выполнения шагов по подготовке данных и дообучению. Для более упрощенной версии с меньшим количеством объяснений, но со всем кодом, см. соответствующий Google Colab.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments1

Редактор коннектома

Level of difficultyEasy
Reading time13 min
Views2.4K

Приветствую, дорогие друзья! Хочу рассказать о своём проекте. Моё хобби это исследование нервной системы и мозга в целом и попытки провести реверс‑инжиниринг этих систем. Этому собственно и посвящены мои статьи на habr. И сейчас я пришел к идеи, что мне нужно разработать некий инструмент который бы упростил работу над моими поисками и изысканиями, и сделал бы их более доступными. Да, существует множество фреймворков на эту тему, но мне всё это не подходит, во‑первых, у меня сложился несколько альтернативный взгляд на проблему, во‑вторых, мне кажется я смогу сделать лучше и доступней.)

Более шести лет назад я презентовал статьёй на habr свой проект OpenTadpole. Это был редактор коннектома некой спайковой нейронной сети которая управляла телом головастика лягушки в симуляции среды. Этот проект показывает возможность формировать с помощью достаточно простых нейронов сложное рефлекторное поведение. Тут речь идет конечно только о безусловных рефлексах, без какого либо обучения. Интересным моментом для меня стало, то что многие интересовались есть ли web версия (это же проект сделанный на unity) или есть ли версия для Mac, linux. По существу, даже людям которым тема проекта была интересна и были обладателями windows не спешили что‑то скачивать, распаковывать, пробовать. И это понятно, куда удобнее просто пройти по ссылке и получить нужный опыт работы с редактором. К сожалению, web версию я не мог представить, так как использовал для симуляции жидкости сторонние плагины которые конфликтовали с компилятором под WebGL unity, ну очень уж капризный этот компилятор. С того момента зародилось идея сделать подобный редактор и делать его еще более доступным.

Читать далее
Total votes 16: ↑15 and ↓1+17
Comments8

Запуск аналогов ChatGPT на домашнем ПК в пару кликов и с интерфейсом

Level of difficultyEasy
Reading time6 min
Views211K

--- Обновление статьи 9 Августа 2023 ---

В течении последнего полугода в сфере текстовых нейронок всё кипит - после слитой в сеть модели Llama, aka "ChatGPT у себя на пекарне" люди ощутили, что никакой зацензуренный OpenAI по сути им и не нужен, а хорошие по мощности нейронки можно запускать локально.

Основная проблема в том, что всё это требует глубоких технических знаний.

Но в этой статье я расскажу, как запустить добротную нейросеть на домашнем ПК с 16ГБ ОЗУ в несколько кликов. Буквально в несколько кликов - копаться в консоли не придётся.

Читать далее
Total votes 117: ↑116 and ↓1+142
Comments180

Как изучать китайский язык / 怎样学习汉语? Пошаговая инструкция

Level of difficultyEasy
Reading time2 min
Views70K

Не секрет, что китайский язык считается сложным для носителей европейских языков. Но сам язык как ни странно не очень сложный. В нем, например, существительные и прилагательные не изменяются по родам, числам и падежам, а глаголы не спрягаются. Сложность составляют письменность и определенный уровень культурной изоляции.

В этой короткой статье я опишу алгоритм буквально на 1 тетрадную страничку, как реально и без особых проблем систематически изучать китайский язык. Единственное, что надо будет приложить - это свои усилия.

И как же?
Total votes 22: ↑13 and ↓9+8
Comments39
1
23 ...

Information

Rating
Does not participate
Registered
Activity