
Сегодня мы продолжим изучать руководства по разработке LLM. А 23 апреля на онлайн-встрече расскажем, почему создание платформы для инференса LLM с нуля — далеко не всегда оптимальный выбор, и объясним, как MWS GPT может значительно упростить и ускорить работу с большими языковыми моделями. Подключайтесь, регистрация открыта по ссылке.
Укрощая LLM

Как правило, публикации про большие языковые модели посвящены перспективам и возможностям новых решений. Литературы, описывающей подводные камни и сложности разработки подобных систем, не так уж много. Предприниматель и преподаватель Колумбийского университета решил исправить ситуацию, написав книгу-справочник «Укрощая LLM». Фактура основана не только на личном опыте автора; материал объединяет знания и разработки других программистов и членов ИТ-сообщества.
Книга включает семь глав, посвященных тестированию недетерминированных и генеративных систем ИИ, работе с галлюцинациями и оптимизации расходов на разработку ML-моделей. Так, в одном из подразделов показаны методы контроля качества выходных данных LLM: промпт-инжениринг, тонкая настройка и постобработка логитов.
Рассказ сопровождают наглядные иллюстрации и примеры кода на Python. А в подразделе под названием «Парадокс сокращения стоимости» (The Falling Cost Paradox) автор демонстрирует, как квантирование позволяет уменьшить модель на 47%. Здесь он приводит не только примеры кода, но и рекомендации со ссылками на научные работы.
На момент публикации статьи на сайте автора доступны семь тематических глав (всего их девять, но первые две — вводные) из запланированных восьми. В качестве альтернативы часть материала можно прослушать в формате подкаста или скачать в PDF. Руководство можно найти и в репозитории на GitHub. Поскольку это open source книга, все желающие могут оставлять замечания, а также предлагать новые главы и подразделы.
Как оптимизировать LLM

Это — запись конференции OpenAI, на которой выступили старший программный инженер отдела тонкой настройки Джон Аллард и глава технического подразделения Колин Джарвис. Презентация длится 45 минут — спикеры разбирают ключевые принципы оптимизации LLM. При разработке больших языковых моделей необходимо соблюдать баланс между качеством входных и выходных данных. Однако универсального подхода для решения этой проблемы пока не существует. Например, генерация на базе результатов поиска (RAG) обогащает промпт, что снижает вероятность галлюцинаций. Но у RAG есть обратная сторона — сложность оценки качества таких решений. На результат влияет множество компонентов, и каждый из них нужно оценивать отдельно (формировать тестовые своды данных, метрики, разметку).
Спикеры показали, как можно совместить несколько подходов к оптимизации данных и повысить точность ответов языковых моделей. Так, LLM на базе GPT-4, подготовленная с помощью классической промпт-инженерии, генерировала корректный ответ в 69% случаев. Тонкая настройка и RAG-оптимизация позволили добиться показателя в 83,5%.
Если вы не хотите просматривать всю запись выступления, есть краткий конспект лекции.
Взять и разговорить нейросеть
Практически все общедоступные чат-боты имеют определенные фильтры. Они запрещают нейросети выдавать спорный, оскорбительный или вредоносный контент. Но цензурируя нейросети, разработчики ограничивают эффективность поиска и полезность систем ИИ. Этому аспекту посвящены научные работы. Например, статья «What is H.P. Lovecraft’s Cat’s Name: Syntactic Censoring in LLM Applications».
Специалист по ML Максим Лабонн в статье «Uncensor any LLM with abliteration» описал подход под названием метод «аблитерации», позволяющий обойти механизмы цензурирования, установленные разработчиками. Материал довольно длинный и написан на английском языке, однако перевод можно найти на Хабре.
Автор статьи предлагает пошаговый алгоритм. Первым делом необходимо запустить модель на наборе «вредных» и безобидных инструкций, чтобы собрать информацию о характере запретов. Далее, вычисляется среднее различие между активациями вредных и безобидных инструкций и формируется вектор, представляющий «направление отказа» (refusal direction) для каждого слоя модели. Вектора нормализуются, и получившийся единый вектор «аблируется» — то есть модель теряет способность представлять эту характеристику. Код, предложенный автором, опирается на TransformerLens и ноутбук FailSpy.
Здесь всё же стоит отметить, что подобного рода «дообучение» — сложный процесс, способный снижать производительность модели. Ознакомиться с кодом можно самостоятельно, он лежит в открытом доступе на GitHub.
Шрифт как LLM

Этот проект немного отличается от предыдущих в подборке. Он нишевый, а его практическая применимость может вызывать вопросы. Но специалисты по машинному обучению и разработчики систем ИИ все равно могут почерпнуть здесь что-нибудь интересное. Речь идет о проекте Llama.ttf. Это — файл шрифтов, который одновременно является большой языковой моделью и движком для инференса. Он на лету корректирует набираемый в редакторе текст — например, может заменять слово OpenSans на LLaMaSans. Звучит странно, но как все выглядит на практике, можно посмотреть здесь.
В основе Llama.ttf лежит модель TinyStories. Она имеет около 15 млн параметров и очень незначительный вес — всего 60 Мбайт (хотя в ходе работы ttf-файл и может разрастись до 300 Гбайт). Файл шрифтов можно использовать в редакторе с поддержкой HarfBuzz.
Что интересно, идея динамического преобразования текста и программируемых шрифтов не нова. Один энтузиаст продемонстрировал функционирующий Тетрис из шрифтов. Код доступен в открытом репозитории GitHub, так что можно лично опробовать разработку.
Есть и более абсурдные эксперименты с символами, изначально позиционируемые их авторами как шутки. Например, встроенный в шрифт генератор лабиринтов.
Реализуемые энтузиастами изобретательные подходы и техники открывают новые возможности в LLM и могут быть потенциально полезны на практике.
Размышляющая LLM
Можно научить модель решать сразу несколько задач, но тогда разработчикам приходится сталкиваться с феноменом катастрофической забывчивости (Catastrophic Forgetting). При получении новой информации модель забывает ранее усвоенную. В попытке решить эту проблему инженеры разработали аналитическую модель, способную мыслить и рассуждать логически. Она должна проходить через минимальное предварительное обучение и адаптироваться в контексте поступающих запросов.
Экспериментальную модель QwQ-32B-Preview спроектирована с упором на изучение природы мышления и процессов внутри LLM. Авторы подают её с исследовательско-философской стороны — даже предисловие на странице проекта оформлено в подобном ключе. QwQ относится к серии моделей Qwen 2.5. Пока LLM доступна только в виде демоверсии, и разработчики предупреждают о наличии ограничений. Например, модель может уходить в бесконечные рассуждения и путать языки. Кроме того, стремление к свободным размышлениям иногда рождает неэтичные ответы.
Но что касается эффективности в математических вычислениях, то она подтверждена тестами. Модель справилась с экзаменом для специалистов GPQA, задачами AIME, примерами из MATH-500 и вопросами сценариев программирования LiveCodeBench. В некоторых тестах QwQ превзошёл OpenAI-o1-preview, OpenAI-o1-mini и GPT-4o.
Интересная особенность QwQ — стиль рассуждений. При решении задач модель имитирует человеческое мышление: задаёт вопросы, использует междометия, выражает сомнения. Вычисления происходят не мгновенно, а через последовательное размышление, напоминающее человеческую логику. Наблюдать за таким процессом увлекательно. Кроме того, QwQ можно запустить локально и протестировать на собственных задачах.
Ещё одна разработка, QvQ, изучает мультимодальное восприятие. Эта модель анализирует текст и визуальные данные, сопоставляя их в процессе обработки запроса. QvQ протестировали на математических задачах, представленных в виде текста, таблиц и изображений. Поведение модели похоже на QwQ: она объясняет, на какие элементы данных обращает внимание, и рассуждает, как приходит к ответу.
Художественность языка моделей QwQ и QvQ может создать впечатление несерьёзности, но эксперты подчёркивают их ценность для развития систем ИИ. Возможность наблюдать за этапами мышления расширяют представления о машинной логике.
Напомним, что больше о LLM расскажем на вебинаре по ссылке.
Автор: randall