Pull to refresh
16K+
43
Pavel Zloi@efreelancer

Руководитель направления ML/AI

19,2
Rating
47
Subscribers
Habr CareerHabr Career
Send message

Claude Desktop на Linux, через прокси

Level of difficultyEasy
Reading time5 min
Reach and readers18K

Я сижу на Debian под KDE Plasma и для решения проблемы “your country is not supported”, часто встречающийся у популярных агентов, предпочитаю мультихоп прокси (на последней миле у меня sign-box слушает 127.0.0.1:7890). Claude Code в терминале бегают через него, а вот десктопное приложение делало вид, что прокси не существует. Пришлось разобраться, и заодно оформить это в аккуратный воспроизводимый вид.

Читать далее

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

Level of difficultyEasy
Reading time6 min
Reach and readers9.5K

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

Нейрослоп - это текст, который выдала модель, а человек поленился подчистить.

Но мой поинт не в том, что моделька писала текст, меня в таком тексте тригерит то, что автор не посчитал нужным этот текст привести в божеский вид. Я уже ворчал на эту тему у себя на канале: сначала про то, что соцсети тонут в нейроконтенте, потом собрал список маркеров, от которых меня мутит. Под вторым постом набежало сто с лишним комментов (а клоунов поставили сколько, ууу, загляденье), и многие комменты оказались местами полезнее самого поста. Из них и выросла данная публикация.

Но давайте разберёмся, почему слоп вообще читается как слоп? По каким признакам его ловить, не превращаясь при этом в параноика? И чем чистить свои черновики, чтобы не стыдно было публиковать?

Читать далее

Почём нынче токен для народа?

Level of difficultyMedium
Reading time5 min
Reach and readers11K

В результате одного из множества обсуждений инфоповодов про поднятие цен на подписки и тредов связанных с экономикой моделей возник вопрос о цене токена:

Ниже какой цены токен в принципе не может стоить?

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

Но давайте обо всём по порядку.

Читать далее

У вайбкода два пути: Code-подписка и API

Level of difficultyEasy
Reading time8 min
Reach and readers21K

Последнее время гоняю разные кодовые агенты во всех позах и форматах на моём домашнем *Claw-подобном харнес Coddy Agent, практикую как интеграции разных кодовых агентов и апишек в агента для вайбкода, так и разработку кода этого агента разными инструментами, то бишь вайбкожу его ими.

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

Читать далее

ruGPT3XL идёт в качалку / поднимаем контекст до 8k

Level of difficultyMedium
Reading time8 min
Reach and readers6.8K

Это продолжение предыдущей публикации про реставрацию ruGPT3XL. Для тех кто не читал, кратенько, я конвертировал древний Megatron-LM чекпоинт в HuggingFace-формат, залил веса на HF, накатил поддержку GGUF в llama.cpp и подумал, что всё. Но нет.

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

Решил поднять контекст до 8k.

Читать далее

Реставрация ruGPT-3 XL или как я вернул к жизни забытую русскую языковую модель

Level of difficultyMedium
Reading time8 min
Reach and readers13K

Несколько дней к ряду я занимался реставрацией легаси модели ai-forever/rugpt3xl, это классическая языковая модель от SberDevices на 1.3B параметров, крошка по современным меркам, на которой сберовцы обкатывали свои научные наработки аж в далёком 2021м году. Подробнее о ней можно почитать в статье “A family of pretrained transformer language models for Russian” на Google Scholar.

Да, она foundation, то есть умеет только продолжать текст, не может выполнять инструкции или работать в режиме чата. Но обучена она на корпусе русского языка и этот самый русский генерит очень бодро. У неё есть две примечательные особенности: её обучали с нуля, архитектура представляет собой глубокую модификацию GPT-2.

Читать далее

GGUF: квантизация с калибровкой (imatrix)

Level of difficultyMedium
Reading time6 min
Reach and readers6.6K

Привет, хабровчане!

Признаюсь, я не большой любитель vLLM, Triton Inference Server и всяких там NeMo, вместо них я предпочитаю ollama вообще и llama.cpp в частности, поскольку придерживаюсь мнения, что 1-2% потери в точности и отсутствие некоторых плюшек - не так важно, по сравнению с удобством деплоя, спекулятивным декодингом, многократным приростом скорости, динамическим оффлодом в память системы и возможностью запускать модели на любом "ведре", навроде древних зионов, андройдофонов, малинок или, скажем, макбуков.

Поэтому вполне ожидаемым для меня является, когда авторы моделей заморачиваются с конвертацией оных в GGUF - особом формате сжатия весов моделей, пригодном для запуска через упомянутые выше ollama и llama.cpp.

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

Читать далее

Распределённый инференс llama.cpp через RPC

Level of difficultyMedium
Reading time9 min
Reach and readers29K

Приветствую, хабровчане!

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

Погуглив некоторое время узнал, что проект LocalAI уже относительно давно поддерживает такую возможность, недолго думая я раскатал на нескольких компьютерах данный проект, после чего выполнил все необходимые настройки связав все инстансы в единую систему и, мягко говоря, был разочарован, уж слишком "фатально-недостаточным" оказалось данное решение, Docker-образ собран неоптимально, он был огромный по весу и только под amd64, неотключаемый веб-интерфейс шел в комплекте с проектом, скупой выбор моделей, некоторые из доступных LLM не работали в режиме RPC, все эмбеддинговые модели тоже отказывались запускаться в таком режиме, и так далее и тому подобное.

Повозившись ещё немного, полез в исходники и обнаружил упоминание проекта llama.cpp, затем нашёл вызов бинарника rpc-server. И вот я оказался на странице llama.cpp/examples/rpc и всё заверте...

Читать далее

Enbeddrus — обучение независящей от языка эмбеддинг-модели

Level of difficultyMedium
Reading time11 min
Reach and readers10K

Приветствую, хабровчане!

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

Основная причина, по которой я решил заняться этим проектом, заключается в том, что мои заметки, код и документация, накопленные за более чем десять лет практики, представляют собой солянку текстов о разных технологиях, языках программирования, пометки о настройке серверов Linux и т.д. на русском и английском языках. Поэтому мне захотелось сделать Retrieval-Augmented Generation (RAG) помогалку, которая сможет принимать запросы пользователя (меня) и эффективно находить информацию в столь разношерстой базе данных, независимо от того на каком языке я сделал запрос и на каком языке написана документация.

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

Ещё одним важным аспектом было то, чтобы модель потребляла как можно меньше ресурсов и, если возможно, чтобы её можно было преобразовать в формат GGUF.

Читать далее

Обучение модели токсификации текстов с помощью TorchTune, подробное руководство

Level of difficultyMedium
Reading time11 min
Reach and readers5.4K

Приветствую, хабровчане!

Сегодня пятница, поэтому предлагаю немного пошалить и поговорить о слегка необычном, но весьма забавном проекте обучения нейросетевой модели на базе LLaMA2 7B, которая умеет превращать невинные предложения на русском языке в чуть более "токсичные" их версии.

Но обучать модель мы будем не абы как, а при помощи недавно вышедшего в свет проекта под названием TorchTune, так как надо ведь пробовать новые инструменты, иными словами, предлагаю соединить тему интересную с темой полезной.

Так что пристегнитесь, будет весело и слегка токсично!

Читать далее

Дообучение ruGPT-3.5 13B с LoRA

Level of difficultyMedium
Reading time10 min
Reach and readers31K

Добрый день, уважаемые читатели и авторы Хабра!

Сегодня я рад представить вам подробное руководство по обучению модели ruGPT-3.5 13B с использованием датасетов модели Saiga-2/GigaSaiga, технологии Peft/LoRA и технологии GGML. Эта статья призвана стать полезным и практичным ресурсом для всех, кто интересуется машинным обучением, искусственным интеллектом и глубоким обучением, а также для тех, кто стремится глубже понять и освоить процесс обучения одной из самых мощных и перспективных русскоязычных моделей.

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

Читать далее

Mikrotik RouterOS в Docker с помощью Qemu

Reading time9 min
Reach and readers30K

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


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


Продолжение под катом.

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

Information

Rating
462-nd
Location
Москва, Москва и Московская обл., Россия
Registered
Activity

Specialization

Бэкенд разработчик, ML разработчик
Ведущий
Linux
PHP
Python
Многопоточность
Нейронные сети
Машинное обучение
Kubernetes
Golang
Высоконагруженные системы