Ruslan Dev
СтатистикаЗаписки странствующего инженера Чат — https://t.me/ruslandevchat ЛС — @ruslanperesy
- Последний пост
- 5 авг.
- Последнее чтение
- 13 авг.
- Постов за неделю
- 0
- Всего постов
- 21
- Тип
- открытый
- Язык
- русский
- В каталоге с
- 13 авг.
- 1/24сутки в ленте
- 651
- 1/48двое суток
- 746
- 1/72трое суток
- 804
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Опубликовал большой тест-сравнение ведущих моделей на всех поколениях видеокарт NVIDIA (кроме Blackwell). https://youtu.be/VZKnezWNFCo Тест оценивает скорость (TPS), качество выполнения разных задач от кодинга до агентных сценариев, в которых задействован LangGraph агент на DeepSeek V4 Flash с MCP-функциями, вызываемыми через мою библиотеку MCPager. Jupyter-notebook прилагается. В этом же видео я разобрал и сравнил механизмы внимания Compressed Sparse Attention и гибрид MoE + Gated DeltaNet, так как в видео тестируются флагманы обоих направлений (DeepSeek V4 Flash и Qwen-3.6 35B A3B). Гибридное внимание с Gated DeltaNet впечатляет. Я видел, его критиковали разработчики Kimi K3, говоря что gates с одним скалярным коэффициентом — недостаточно, нужны поканальные коэффициенты. Практически — небольшая модель Qwen-3.6 35B A3B решила задачу по рефакторингу реального репозитория на Python (того же MCPager) на 100%. Справилась даже лучше, чем более ранний Qwen 3 Coder Next с похожей архитектурой, у которого 80B параметров.
Нашел время для технического разбора линейной рекуррентной памяти вообще и KDA в частности — https://pikabu.ru/story/kak_rekurrentnaya_pamyat_otkryivaet_novyie_vozmozhnosti_dlya_llm_na_primere_kimi_k3_14198121 плюс мои комментарии о том, как работает AttnRes в Kimi K3
Как меняется внимание новейших LLM на примере Kimi K3, релиз весов которой ожидается 27 июля? Эта модель реализует Kimi Delta Attention, еще одно поколение гибридного линейного внимания. На примере KDA видно, как фронтир-модели сейчас подступают вплотную к тому, чтобы создать искусственный аналог долговременной памяти. У человека рабочая память и долговременная память — это не просто две памяти разного размера. Они используют разные механизмы: рабочая память — быстрое удержание и манипулирование небольшим количеством информации, долговременная память — реконструктивное извлечение ассоциаций, многократная консолидация, изменение самих нейронных связей. У искусственных моделей до недавних пор долговременной памяти не было. Сами веса — это не память в полном смысле, они не хранят контекст. Классический трансформер функционирует, как главный герой фильма «Мементо» Леонард, у которого антероградная амнезия. Кратковременная рабочая память (KV-кэш) на месте, но в долговременной памяти ничего не откладывается — обычно у людей воспоминания формируются, когда они спят. В итоге Леонард был вынужден полагаться на систему заметок, по которым восстанавливал сжатое представление о самом себе каждый раз после «ресета» рабочей памяти — по сути использовал промпт. Чтобы LLM обзавелись настоящей долговременной памятью, пришлось обратиться к опыту линейных рекуррентных моделей, особенно к идее State Spaces. Мы видим, как Self-Attention начинает играть роль рабочей памяти — дорогой, но очень точной, линейная рекуррентная память (KDA, DeltaNet) — роль непрерывно обновляемой долговременной памяти. Веса остаются аналогом очень долговременных знаний, что-то вроде глубоких подсознательных способностей человека, которые «зашиты» то ли в его ДНК, то ли где-то еще, о чем наука знает, я бы сказал, подозрительно мало. Характерный пример линейной рекуррентной памяти — Gated DeltaNet, который успешно используется в гибридных моделях Qwen. А теперь KDA позволяет первой открытой модели с 2.8 триллионов токенов — Kimi K3 — работать с огромными контекстами, и мы можем ожидать, что механика ее инференса станет ближе к работе мозга с полноценной долговременной памятью.
Я подумал, что мои теоретические исследования на тему — как AI кодирует (и декодирует) знания стоило подкрепить практическими примерами. Я записал видео с обучением Embedding модели и MLP с подробными комментариями к вопросу связи AI, знания и письменности (а также языка, в более широком смысле). https://youtu.be/lu61jLg96rA?si=R0VwNe9Zei6XjrXG Код и веса прилагаются.
Написал статью с целью раскрыть вопрос в конце последнего поста - откуда берется ICL - насколько это представляется возможным. https://uzooplatform.com/en/pages/icl-yavlyaetsya-svoistvom-struktury-estestvennogo-yazyka Вся идея в общем-то на схеме. В статье, к сожалению, заметно больше математики, чем обычно, но без этого было никак. В ней, я бы сказал, удалось аналитически подойти еще ближе к тому обстоятельству, что естественные языки от нас что-то скрывают - а именно структуру, делающую математически возможными обобщения (предсказания) на всем пространстве языка по нескольким примерам, доказательством чего и служат современные нейросети. Хотя, если вдуматься, и без нейросетей человеческий интеллект это делал, только механика оставалась для нас неявной.
Принципы дизайна языковых моделей Искусственного Интеллекта не являются абсолютно новыми - аналогичные механизмы существуют в самом языке, и уже очень давно. К такому выводу я пришел, обучая модели-эмбеддинги и MLP - то есть модели, с которых начиналось развитие LLM. Сначала я обучил простую, но исторически важную Word2Vec модель c архитектурой SkipGram. Эта модель, описанная в статье Efficient Estimation of Word Representations in Vector Space, заложила один из первых важных камней в фундамент будущих LLM, так как эмбеддинги являются первой абстракцией над токенами. В более раннем посте я сравнил их с идеями. Эмбеддинг токена - это его абстрактное, но изолированное пока еще представление, нет механизма для моделирования связей между токенами. Смысл комбинаций токенов зависит от их позиций в латентном пространстве, на что опирается feed-forward network типа многослойного перцептрона. В языковой топологии, конкретно - морфологической структуре, роль эмбеддингов играют односложные корни слов в некоторых языках (моносиллабических). В китайском, вьетнамском, тайском, лаосском - основных моносиллабических языках - слова главным образом независимы. Эти языки изолирующие по строю, то есть смысл в них зависит от порядка неизменяемых слов. Более простые признаки отдельных слов складываются в новые смысловые конструкции путем комбинации в определенном порядке. 我 去 北京 я ехать Пекин Sequence Models - следующая ступень после MLP - уже заставляет токены влиять друг на друга, чтобы позиция токена могла изменять смысл всей последовательности. Рекуррентную сеть очень просто сделать из нескольких MLP, которые последовательно передают друг другу состояние, строя смысл постепенно: h_t = F(x_t, h_{t-1}). F здесь это MLP-блок, но соседние блоки уже могут влиять на него через рекуррентное состояние h_{t-1}. В языках есть принцип, действующий именно так - это агглютинация. Суффиксы, каждый с определенным значением, присоединяются к основе один за другим, последовательно меняя смысл слова. Например, в турецком: ev = дом evler = дома evlerde = в домах Сравните с RNN, где каждый новый вход слегка модифицирует предыдущее состояние. Как и в рекуррентных моделях существует необходимость хранения длинных последовательностей, так и в агглютинативных языках - например, в финском и том же турецком - слова могут достигать десятков символов. Наконец, трансформер - это аналогия флективных языков, где при словообразовании используется фузия. В трансформере значение токена формируется не последовательным накоплением, а взаимодействием множества признаков одновременно: token_i + attention ко всем token_j После нескольких слоёв получается распределённое представление, смесь признаков, которую уже нельзя разложить на их исходные векторы. Также во флективных языках одна морфема одновременно выражает несколько грамматических категорий. стол-ом Окончание -ом одновременно кодирует единственное число, творительный падеж, мужской род, тип склонения. Эти признаки уже не отделяются друг от друга. Вопрос, что такого в том, что искусственные языковые модели "зеркалят" естественные? А в том, что топология языка влияет на LLM, и глубину этого влияния еще предстоит исследовать. Откуда берутся "эмерджентные" способности, которые модель не учит напрямую, и такое малопонятное явление, как In-Context Learning? Если они не закодированы в весах модели, то не в самом ли естественном языке?
Недавно я прочитал с интересом новости от компании Intel — что впервые за долгое время дела у них идут хорошо и даже есть что предложить в смысле AI-чипов, способных конкурировать с GPU от NVIDIA. CEO компании Лип-Бу Тан даже заявил, что CPU могут стать основным решением для AI-инференса в будущем, потому что лучше подходят для этого, хотя для обучения нейросетей GPU по-прежнему останутся главным железом. Мне сразу же захотелось проверить это сильное утверждение, к тому же мне попалась статья от LMSYS, в которой говорится о том, как запустить на SGLang модели вплоть до DeepSeek R1 на процессорах Intel Xeon 6. И я проверил — арендовал процессор этого поколения (Intel Xeon 6975P) и прогнал на нем бенчмарки до десяти параллельных потоков, на разных моделях от 3B до 70B. И сравнил side-by-side с 2x RTX4090. Смотрите как это было: https://youtu.be/cj9DeghSG_I А теперь вкратце выводы. Шестое поколение Intel процессоров Granite Rapids — это интересный шаг в сторону реалистичного AI инференса на CPU, но пока еще выглядит как proof-of-concept, не предназначенный для масштабирования в продакшене, и тому же слишком дорогой. Если Intel действительно собираются забрать у NVIDIA нишу AI-инференса, то им придется увеличить в разы возможность параллелить перемножение матриц в своем AMX — наборе CPU-расширений для операций, связанных с AI-нагрузками. И в то же время сделать свои чипы минимум в 6 раз дешевле. На это, видимо, уйдут годы, а GPU-инференс за это время тоже может эволюционировать.
По поводу прекращения поддержки файнтюнинга моделей OpenAI (см. официальную страницу deprecations) можно сказать одно — без этой функции OpenAI не является платформой для полноценного использования LLM. До этого дня файнтюнинг, пусть даже без доступа к самим весам, был единственной связью между разработчиком и моделью. В моей практике были случаи, когда сложная бизнес-задача не решалась иначе, как с помощью файнтюнинга. RAG во многих подобных случаях бесполезен, так как даже и близко не позволяет контролировать поведение модели с такой точностью, которую дает файнтюнинг. Так что для меня объяснение, что файнтюнинг отключают за его невостребованностью, звучит странно. В общем, хотя базовые модели будут работать как и прежде, OpenAI не будет бэкендом для приложений, которые по-настоящему могли бы решать задачи для нашего и вашего бизнеса и приносить ценность и прибыль не только для OpenAI, но и для их клиентов по всему миру. И такое решение приняла компания, у которой больше всего возможностей для создания AI, способного на это.
Для чего большим языковым моделям нужен декодер? Работая с LLM и изучая их внутренние алгоритмы, я пришел к одному интересному сравнению, которое решил объяснить в этом посте. Как известно, эволюция языковых моделей шла от простейших N-граммных к нейросетям, оперирующим текстовыми эмбеддингами. Главные изменения касались того, как именно модель описывала вероятностное распределение данных. Вначале это была статистическая таблица вероятностей со всеми возможными сочетаниями токенов из словаря, которая, как легко понять, не масштабируется - длина контекста сильно ограничена. Отсюда берет начало стимул к поиску представлений признаков в виде векторов меньших размерностей. Но что собой представляют эти загадочные «латентные признаки», как не обобщение, или абстрактное представление реальных токенов, которые мы видим на выходе нейросети? Для того, чтобы вместить стремящееся к бесконечности множество вариантов, конечно, модели пришлось выучить абстракции над этими вариантами. Поэтому можно утверждать, что объектом внимания AI в процессе инференса являются не слова и не токены, а их общие прототипы, то есть идеи. Процесс преобразования такой абстрактной идеи под влиянием контекста в реальную последовательность токенов является декодингом. То есть, латентные признаки соответствуют идеям человеческого разума до того, как эти идеи получат какую-либо отчетливую форму, а декодинг - тому процессу, к которому мы прибегаем, выражая общую мысль через подходящие по ситуативному контексту слова.
Разобрал в моем новом видео, как задеплоить OpenClaw для реальной боевой автоматизации в продакшене. https://youtu.be/TbWTTmSams8 Т.е. всё как у всех, но связка с LLM-эндпоинтом сделана как следует и защищена на уровне инфраструктуры - в моем видео я использовал публичный эндпоинт Qwen3 Coder Next на immers.cloud, но для обеспечения необходимой пропускной способности и безопасности данных ничто не мешает передать в конфиг сервера свой приватный эндпоинт. Впрочем, OpenClaw имеет очевидные проблемы, которые заставляют меня задуматься о том, не будет ли следующее видео уже о другом, моем собственном агенте типа OpenClaw - универсальном и с высоком уровнем автономии, но более годном в плане кастомизации и отладки.
Когда мы говорим про обучение LLM с нуля - pretraining - информации всегда не хватает. Знаете, на каких данных обучали модель GPT-3 шесть лет назад, а на каких обучают сейчас? Но еще более интересные вопросы - чем эта эволюция обусловлена и что в действительности происходит при обучении модели в контексте распределения признаков, статистически представленных в наборе данных. Об этом я написал новую статью: https://pikabu.ru/story/ot_chego_zavisit_uspekh_obucheniya_bolshoy_yazyikovoy_modeli_i_kakie_dannyie_dlya_yetogo_nuzhnyi_13825390
Всем привет, публикую причину моего молчания последних недель - статью о вопросах влияния AI на процесс познания: AI может стать поворотным пунктом в методе познания — наравне с изобретением письменности В ней речь идет о том, что роль AI выходит за прикладные рамки и является ключевой для будущего науки и системы человеческих знаний в целом. Также я разобрал возможные сценарии влияния AI на познание, один из которых обнадеживает, а другой - не очень. Также, помимо основной темы, разбираю часть одного из самых интересных, на мой взгляд, проектов по AI, какие можно найти на гитхаб - это microgpt от Андрея Карпати. Благодаря ему теперь можно увидеть самые фундаментальные принципы AI-моделей и оценить их простоту, так как это скрипт на чистом Python из 200 строк без единой зависимости, который, тем не менее, вмещает архитектуру трансформера типа GPT-2, со всеми ее компонентами, включая код оптимизации с вычислением градиентов, обучения и инференса. Это позволило мне проиллюстрировать идеи моей статьи.
Наступил день релиза! https://uzooplatform.com/site/dashboard - здесь вы найдете информацию о UzooChat, первом агенте нашей платформы, и сможете перейти в Open WebUI для интеракции с ним. UzooChat - это агент с полностью открытым кодом, сегодня опубликованный на гитхаб, который может вызывать функции с вашего MCP-сервера. При его разработке я решил, как и в случае с MCPager, что нет ничего лучше минималистичного синхронного Python кода, производительность которого при необходимости всегда можно масштабировать с помощью замечательного gevent. Поэтому логика агента, написанная на LangGraph, завернута в хорошо знакомый нам всем Flask API с простейшей валидацией через webargs. Эту конструкцию достаточно легко скомбинировать с OpenAI-совместимым прокси, например, Open WebUI-пайплайном, что я и сделал. Самое главное, что агент принимает URL любого MCP-сервера и вызывает его функции. Вот так: "tools": [ { "type": "mcp", "server_label": "mymcp", "server_description": "Мой сервер.", "server_url": "YOUR-MCP-SERVER", "require_approval": "never", }, ] Любой может развернуть агента локально, или создать API ключ в Open WebUI, подключиться к моему агенту через OpenAI клиент и передать URL своего MCP-сервера в формате как выше.
Обновление: сайт проекта Uzoo AI теперь находится по адресу https://uzooplatform.com Предыдущий домен у меня украли. Регистратор заблокировал мой аккаунт и удалил DNS записи домена, так что, на всякий случай: Домен uzoo.ai больше мне не принадлежит и со мной никак не связан. Кстати, регистратор - namecheap. Я сними связывался, но выяснил только что они подвели угон доменов у граждан РФ под какое-то легальное обоснование, так что имейте в виду. В остальном работа над проектом ведется в том же направлении - сейчас я занят подготовкой кода для развертывания агентов, дополняемых пользовательскими MCP. Согласно принципам платформы, код основы агента будет открытым, как и MCP-библиотека, и предназначен для взаимодействия с агентом через общую точку входа - Open WebUI.
Прочитал об очень интересном эксперименте MIT, который может помочь победить проблему падения точности LLM на очень длинных контекстах (миллионы токенов). Представьте, что мы даем большой и мощной модели (назовем ее root) три ключевых компонента: переменную с полным контекстом, функцию для вызова более легкой и быстрой модели (назовем ее recursive, дальше увидите почему) и текстовый запрос, который кратко отражает суть задачи - например: query = "найди в большом корпусе данных информацию X..." Нам нужна интерактивная среда выполнения кода (например, REPL). Мы даем модели root промпт вроде такого: "Взаимодействуя с REPL-средой, в которой инициализирована переменная context с большим (несколько миллионов) текстом, и функция llm_query, найди ответ на следующий вопрос: {}".format(query). root рекурсивно вызывает llm_query, передавая фрагменты большого контекста модели recursive и смотрит, что та вернула - при получении искомого ответа возвращает его. Простое, но результативное решение. Полная статья здесь
Ruslan Dev pinned «Я запускаю новый проект по AI 🤖 Несколько дней назад я опубликовал на гитхабе две библиотеки моего авторства: MCPager - pythonic-реализация протокола MCP (в настоящий момент только клиентской части). Синхронная и совместимая с LangChain/LanGraph. RAGpy - библиотека…»
Я запускаю новый проект по AI 🤖 Несколько дней назад я опубликовал на гитхабе две библиотеки моего авторства: MCPager - pythonic-реализация протокола MCP (в настоящий момент только клиентской части). Синхронная и совместимая с LangChain/LanGraph. RAGpy - библиотека для работы с векторными базами данных. На сегодняшний день есть поддержка Qdrant. Это - часть более широкой инициативы: открытой платформы развития AI через децентрализацию. Сайт платформы: https://uzoo.ai О смысле и необходимости децентрализации в контексте AI я записал пространное видео. https://youtu.be/vgijb7kcOMM тг https://t.me/ruslandevlabs/4/1255 Кстати, статьи теперь тоже будут выходить на сайте моей платформы (и на пикабу). Хабр показал себя с худшей стороны, удалив недавно мой контент. В любом случае, Хабр уже не соответствует репутации авторитетной площадки для IT профессионалов, и неадекватная цензура отчасти объясняет как дефицит качественных статей, так и читателей, разбирающихся в теме. Поэтому я решил - нет ничего лучше, чем создать свою площадку. Наше сообщество будет расти, как и наши знания 📈 Всех с Рождеством.
видео или голосовое, без подписи
видео или голосовое, без подписи
видео или голосовое, без подписи