Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Как я запустил локальную LLM на Raspberry Pi 5

Время на прочтение14 мин
Количество просмотров2.4K

Последние пару лет я много экспериментировал с LLM на разных железках от GPU-кластеров в облаке до маленьких Raspberry Pi. И вот одна из любимых задачек-провокаций: «А можно ли запустить модель на Pi 4, 5?» Если коротко: можно попробовать, но физика тут сильнее хайпа. У платы есть 8-16 ГБ памяти, у модели десятки гигабайт даже в самых «жестких» квантовках. В лоб это не работает, но зато эксперимент дает интересный результат: мы понимаем, где проходят границы устройства и какие архитектурные схемы реально полезны.

На мой взгляд, будущее не за гигантскими fine-tuned моделями, а за умными комбинациями из «малых» моделей, RAG и грамотной оркестрации. Fine-tuning остается инструментом для узкоспециализированных задач. В большинстве случаев куда выгоднее гибридная схема: данные хранятся и обрабатываются локально (например, на Raspberry Pi), а ресурсоемкая генерация передается в облако. Реализовал такой подход на инфраструктуре Cloud.ru Evolution: там живут большие LLM, а локальный Raspberry Pi выступает в роли приватного узла для индексации и предобработки данных. Этот гайд посвящен именно локальной части — превращению «малинки» в автономного AI-ассистента.

Читать дальше

Новости

Брезенхэм и FPGA

Время на прочтение6 мин
Количество просмотров1.2K

Приветствую читателей Хабра.

В рамках решения одной конкурсной задачи понадобилось реализовать алгоритм построения линий на FPGA. “Это вопрос простой, есть же алгоритм Брезенхэма” – так подумал я и приступил к реализации. Что из этого получилось читайте дальше.

Читать далее

Два универсальных SIMD алгоритма

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров1.1K

Большинство SIMD инструкций узконаправленны, например применяют бинарную операцию параллельно для нескольких чисел, упакованных в длинный регистр. Применение таких операций прямолинейно и в большинстве случаев компилятор сам оптимизирует код с использованием таких инструкций. Например компилятор легко соптимизирует таким образом проверку несложного предиката на массиве или например суммирование элементов массива. Есть однако и более универсальные инструкции, в частности довольно много всякого рода манипуляций с битами внутри регистра. В этой статье хочу рассказать о двух таких инструкциях: уже давно присутствующей PSHUFB и довольно новой GF2P8AFFINEQB, расскажу как с их помощью делать побайтовую обработку общего вида и приведу пару примеров с известными операциями такими как popcount, подсчет четности, разворот битов числа.

Читать далее

Как работает компьютер. Простая статья для начинающих программистов

Уровень сложностиПростой
Время на прочтение38 мин
Количество просмотров4.4K

В этой статье изложено всё, что нужно знать об устройстве компьютера с точки зрения программиста, а именно: для чего нужен тактовый генератор, регистры, кэши и виртуальная память; что такое архитектура процессора; что такое машинный код и код ассемблера; чем отличается компиляция в машинный код в C, C++ или Rust от компиляции в байт-код виртуальной машины в языках типа Java и C#; в чём их отличие от интерпретируемых языков вроде JavaScript или Python; что такое динамические и статические библиотеки (.dll/.so, .lib/.a); что такое фреймворк; что такое API и web-API; и что собой представляет параллельное программирование с использованием многоядерных процессоров, векторных регистров и видеокарт.

Читать далее

Как я делал аркадный аппарат под одну игру. Часть 1: прототип

Время на прочтение4 мин
Количество просмотров661

Всем привет!

Для начала быстренько представлюсь, а также немного расскажу о контексте, при котором я начал делать аппарат.

Меня зовут Артем Носов, и я один из авторов инди-проекта Exoplanet Games. Этот проект посвящен игровым и околоигровым разработкам, тематически связанным с космосом, которые ведут разные авторы. Одной из моих тем в рамках проекта Exoplanet Games и является изготовление аркадного аппарата.

Сама идея сделать аппарат возникла, когда я обдумывал дополнение к своей первой небольшой мобильной аркаде про космический корабль и астероиды (по классике).

Читать далее

Рейтинг контента и пользователей на основе офелократии. Часть 2. Реализация на SQL

Уровень сложностиСредний
Время на прочтение20 мин
Количество просмотров546

Первая часть статьи

В первой части мы обсудили философские основы и принципы работы рейтинговой системы, где у каждого человека разная сила голоса, отражающая его полезность для конкретного сайта (офелократия). Теперь перейдём к техническим деталям реализации на MySQL.

Читать далее

Как превратить телефон в портативную консоль

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.3K

Мы так или иначе уже касались, кажется, всех существующих портативных устройств для игр, от консолей из Китая до прекрасной Nintendo 3DS. 

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

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

Читать далее

Парсим XML и JSON на ассемблере

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров2.9K

Отобрал для вас несколько крайне интересных, но малоизвестных проектов, реализующих работу с XML и JSON. Кроссплатформенных и без зависимостей. На чистом С и ассемблере.

Читать далее

«Отучаем» WinFXNet от жадности (часть 2 и заключительная)

Уровень сложностиПростой
Время на прочтение41 мин
Количество просмотров801

Эта заключительная часть данной серии (ссылка на первую часть) должна быть выйти раньше, но из-за многих факторов (об этом будет в конце статьи, если кому интересно) этого не произошло. Но звёзды сошлись и результаты экспериментов собраны здесь.

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

Disclaimer: Данная заметка написана в ознакомительных целях и не является руководством к действиям. Статья в этот раз написана таким образом, что в ней описываются мои мысли и шаги, как я к этому пришёл. Мне кажется, что это интереснее и позволяет перенять логику решения подобных задач.

Без промедления - к делу!

Google Cloud уже в третий раз блокирует аккаунт моей компании

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров4.9K

Последние две пятницы без какого-либо уведомления в Google Cloud блокировали аккаунт моей компании SSLMate. Впервые подобное произошло в 2024 году, тоже без какого-либо предупреждения. Но сегодня я хочу не столько предупредить вас о рисках использования платформы Google Cloud, сколько поведать о вынужденных компромиссах между снижением безопасности и удобством работы, вызванных своенравной политикой Google.

Читать далее

UMPC возвращаются? Три прототипа, которые пытаются оживить забытый класс мини-компьютеров

Время на прочтение7 мин
Количество просмотров7.2K

В начале 2000-х UMPC казались будущим: крохотные компьютеры, которые можно было носить в кармане и использовать как полноценный ноутбук. Но что-то не срослось — технологии не дотянули, и формат ушел в тень. Сегодня, когда на каждом шагу встречаются портативные игровые устройства вроде Steam Deck или Aya Neo, интерес к идее снова просыпается. В этой подборке разберем, что такое UMPC, зачем они вообще появились, и посмотрим на три современных прототипа — от самодельного мини-компьютера на Linux до складных клавиатур с экранами.

Читать далее

Работа с JDK Flight Recorder (JFR) из командной строки: инструмент для профилирования без графического интерфейса

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров894

Экосистема Java богата качественными инструментами для разработчиков, и средства профилирования и диагностики - не исключение.

Существуют коммерческие профилировщики, есть встроенные инструменты профилирования в ведущих IDE. А если вам важна свобода (или цена является важным фактором), open source сообщество также готово предложить достойные альтернативы.

JFR (JDK Flight Recorder) один из ключевых инструментов для диагностики работы Java приложений, который можно эффективно использовать из командной строки. Приёмам работы с этим инструментом я хочу посвятить данную статью.

Читать далее

Как with делает ваш Python-код безопаснее и читабельнее

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров1.3K

Если вы пишете на Python хотя бы пару месяцев, вы наверняка сталкивались с конструкцией with open(...) as f:. Это как ритуал, который мы совершаем, чтобы открыть файл: удобно, понятно, и все говорят, что так надо. Мы интуитивно чувствуем, что это "правильный" способ, потому что он избавляет нас от головной боли с ручным закрытием файла через f.close().

Читать далее

Ближайшие события

Адский эксперимент: личный сайт на нищих микросервисах

Время на прочтение27 мин
Количество просмотров15K

Микросервисы тут, микросервисы там… Из каждого утюга доносится дивный сказ про прекрасный мир микросервисов. А ведь это всего лишь один вид из десятка архитектурных стилей, который имеет свои достоинства и недостатки.

В этом эксперименте мы внедрим микросервисы в личный сайт, нарушив ключевые принципы DDD. Я создам антипаттерн «бедных сервисов» (Anemic Domain Model) и покажу, чем опасен прямой доступ к данным между микросервисами.

Эта статья о том, что за прекрасным внешним видом, большой функциональностью, высокопроизводительным исправным кодом может скрываться абсолютное зло.

Читать далее

Менталитет старой школы: инженерные привычки программиста 70–90-х и как их применять сегодня

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров11K

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

Читать далее

Статистика под капотом LinearRegression: почему мы минимизируем именно квадрат ошибки?

Уровень сложностиСложный
Время на прочтение3 мин
Количество просмотров5.2K

Все ML-инженеры знают о линейной регрессии. Это та самая база, с которой начинает изучение алгоритмов любой новичок. Но вот парадокс: даже многие «прожженные» инженеры не всегда до конца понимают ее истинную работу под капотом.

А именно — какая у «линейки» статистическая связь с Методом Максимального Правдоподобия (MLE) и почему она так сильно «любит» MSE и нормальное распределение. В этой статье мы как раз в этом и разберемся.

Читать далее

Что не так с ИИ-«искусством»

Уровень сложностиПростой
Время на прочтение20 мин
Количество просмотров6.8K

Disclaimer: это перевод статьи, основанной на видеоэссе.

Автор — Томас Флайт

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

Часть меня скептически относится к этой инстинктивной реакции: не попадаю ли я в ловушку, в которую попадали бесчисленные поколения до меня? Может быть, я, как могли бы предположить сторонники ИИ, просто рефлекторно отвергаю следующий логический шаг в технологическом прогрессе, потому что он несёт с собой некомфортные для меня перемены? Может быть, я просто повторяю за Платоном, когда он критиковал развитие письменности, утверждая, что это приведет к потере памяти у людей?

Или это инстинктивное чувство, что что‑то «не так» с «искусством», созданным ИИ, указывает на нечто более глубокое и истинное? Не сообщает ли оно нам что‑то важное о том, что такое искусство для нас, для людей? О том, что, каким бы ни было искусство, попытка создать его с помощью ИИ — это своего рода насилие?

Читать далее

Подключение PlayStation2 Джойстика к Микроконтроллеру (или Переходник между человеком и компьютером)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.6K

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

В этом тексте я написал про то как запрограммировать Game Pad от PS2.

Читать далее

Ультрадешёвая гитарная квакушка ZORY DF2210

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров2.5K

Привет, Хабр! Отличительными особенностями данного изделия китайской промышленности, встречающегося на просторах Алиэкспресса и других торговых площадок, являются пластиковый корпус и экстремально низкая цена.

Моё хобби — приобретать самые дешёвые электрогитары и педали эффектов, а затем доводить их до играбельного и применимого в музыкальных контекстах состояния.

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

Читать далее

В процессе обучения нейронных сетей получаются красивые фракталы

Время на прочтение12 мин
Количество просмотров6.7K

Как-то раз моя пятилетняя дочка, вернувшись домой из детского садика, сообщила мне и моей жене, что математика — тупая штука (!). С тех пор мы не покладая рук работаем (пока что успешно), стараясь увлечь её всевозможными математическими интересностями, а теперь ещё и гордимся её успехами в математике. Одна из наших наиболее удачных находок привела к тому, что теперь дочь очень интересуется фракталами вообще. Особенно ей нравится смотреть видеоролики, где с увеличением показаны множества и оболочки Мандельброта, а вдобавок есть капусту романеско. Благодаря этому увлечению дочери, я стал больше задумываться о фракталах, а также о том, как они соотносятся с особенно волнующей меня темой — искусственными нейронными сетями.

Читать далее
1
23 ...