senior_augur | Unsorted

Telegram-канал senior_augur - Старший Авгур

5726

Сохраненки и шитпост про ML от @YallenGusev Чат канала: @augur_chat

Subscribe to a channel

Старший Авгур

Счастье было так близко...
Но оно ещё не работает, код vllm немножко критично поменялся за месяц.

Читать полностью…

Старший Авгур

С abliterated моделью явно что-то не так, попробую поправить её. Ну и тюн сделал только хуже, хоть и не критично хуже относительно abliterated.

Читать полностью…

Старший Авгур

Что-то получилось. Оказалось, что хоть ортогонализация не даёт те же самые результаты, что и непосредственное применение вектора к активациям, цензура всё равно вполне успешно снимается для некоторых направлений и некоторых промптов. Плюс был небольшой баг из-за домножения на константу эмбеддингов вот тут, у единственной не моей abliterated модельки на HF он как раз и не исправлен. Выложил модельку, gemma-2-9b-it-abliterated, поверх неё поставлю обучаться Сайгу.

Читать полностью…

Старший Авгур

Немножко смешно (скрин с abliterated геммы)

Читать полностью…

Старший Авгур

Шахматы и языковые модели

Про сами шахматы я знаю не так уж и много, всего-то 20к игр на lichess и 6к игр на chess.com. И свой движок я когда-то писал просто по фану.
Даже если вы сами не играете в шахматы, эта тема любопытна по двум простым причинам:
1) Шахматы исторически имеют особое значения для всей области ИИ. Вы по-любому слышали про Deep Blue и AlpahaZero.
2) Шахматы всё ещё можно использовать как бенчмарк того, насколько хорошо обобщают модели общего назначения. И выяснять с их помощью, как именно это обобщение работает.


🧑‍🏫 Слой 0: языковые модели общего назначения
Для начала, насколько хорошо языковые модели из коробки играют в шахматы?

OpenAI намеренно включают шахматные игры в предобучение, см. дополнение A2 статьи Weak-to-Strong Generalization (спасибо посту с lesswrong за наводку). Из-за этого наибольший рейтинг (примерно 1750 ELO против Стокфиша с ограниченной силой) среди моделей общего назначения долгое время имела gpt-3.5-turbo-instruct, и тому есть много пруфов (раз, два, три). При этом это играла она гораздо лучше gpt-4 😁, что скорее всего означает, что шахматный сет долили в начале 2023 года.

Что касается gpt-4o, в неё этот сет уже как будто бы попал, в рейтинге по задачкам у неё примерно 1800 ELO. Все остальные модели общего назначения играют хуже. На эту тему есть много смешных видео.


🤴 Слой 1: специально обученные языковые модели
Странно ожидать от моделей общего назначения хорошей игры в шахматы, потому что от среднего человека вы бы тоже этого не ждали. Но что будет, если заморочиться и всё-таки специально их доучить? И тут есть несколько статей.

Но перед этим коротко о форматах.
PGN: Формат партии: последовательность ходов с мета-данными и комментариями. Пример: 1. e4 e5 2. Nf3 Nc6 3. Bb5
FEN: Формат доски: положения фигур, кто сейчас ходит, можно ли рокироваться. Пример: rnbqkbnr/pppppppp/8/8/4P3/8/PPPP1PPP/RNBQKBNR b KQkq e3 0 1
UCI: Протокол общения между движками и нотация ходов. Пример: e2e4


Grandmaster-Level Chess Without Search
Статья: ссылка
Из названия более чем понятно, о чём статья. Ребята скачали 10м игр с Личесса, разметили винрейты для позиций и для каждого хода через Стокфиш, всё ещё лучший существующий открытый движок. Дальше учили 3 версии моделей: 1) на винрейты позиций, 2) на оценки ходов, 3) на лучший ход. В качестве входа используется FEN (то есть никакой истории, только текущее состояние), и для 2 и 3 версии ещё кодируется ход. В качестве выхода в 1 и 2 версии используются корзинки вероятностей, в 3 версии — one-hot представление хода. Модели маленькие, до от 9м до 270м параметров.

Лучшая версия модели имеет 2900 ELO против людей и 2300 ELO против ботов на Личессе 😱
Есть у авторов несколько объяснений наличия 2 чиселок вместо одной, основное из которых — разные пулы игроков, но это не так важно. Из по-настоящему важного — размер сетки влияет довольно сильно, и такая сетка выигрывает у аналогичной у AlphaZero (без поиска, само собой). Но не выигрывает у аналогичных сеток у современных движков. Да и с чего бы, там же тоже трансформеры и датасет не хуже.


Шахматы и вопрос разумности больших языковых моделей
Статья: ссылка
Если откинуть философские рассуждения, учили gpt-2-medium (380м, статья-то 2022 года) на PGN без переделки токенизатора, на 3.5M партий из ChessDB. В итоге у модели получилось около 1300 ELO против Стокфиша с ограниченной силой. Косяков тут много (да хотя бы токенизатор), но при этом статья вполне показательна. Да и вот аналогичная модель с такой же тушкой, датасетом и ELO.

Размеры моделей сравнимые с прошлой статьёй, так почему же так плохо? 😭
Во-первых, обучение на PGN, из-за чего модели нужно самой восстанавливать оригинальное состояние доски и отслеживать все изменения. С FEN всё проще, модели не нужно ничего помнить. Во-вторых, и это самое главное, партии-то неаннотированы. Модель обучалась как на хороших ходах, так и на плохих.


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

Читать полностью…

Старший Авгур

Привет!
Мы в лабараторию ебаного ресерча Vikhr models открываем летние стажировки
Что по задачам:

- Мержинг, стакинг, замеринг, эволюционка поверх LLM cтакинга
- собирать крутые инструкт сеты, у нас много gpt4 токенов, если хочется трогать руками RAG, агентность, function calling и прочие хайповые слова - велком!
- Учить Lora на разные задачи и трогать кучу очень интерсных задач (SPPO, DPO, KTO)
- Есть целых! 4v100 и к конце лета приедет а6000
- Собрать самые крутые и самые мемные бенчмарки😎
- развлекатся с vllm, быстрым инференсом и при желании строить опенсуср
- если вам хочется заводить свою шизо идею а на работе не дают - велком, мы сами такие

Оплата: в авторах на хабре, вероятно на arxiv, уникальный опыт(сорян денег реально нет, мы реально работаем на энтузиазме)

Скидывать cv, нюдсы, вопросы, ответы, предложения в: https://forms.gle/54BLnMMxZuNNboev6

Читать полностью…

Старший Авгур

🗯 Aeonium v1.1 Chat 4B

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

Нейронная сеть сильно галлюцинирует, но иногда пишет хорошие стихи 😎

- HuggingFace
- Онлайн-демо

@hikonon

Читать полностью…

Старший Авгур

🤨
Обратный порядок abliterate сработал, это чистая победа. И на стрёмные вопросы всё ещё отвечает, не отказывает. Выложу как v7.

Читать полностью…

Старший Авгур

Про расширения RoPE
Первая часть: ссылка

Для начала коротко напомню, что вообще делает RoPE: берётся эмбеддинг и каждая пара фичей вращается на определённый угол. Для разных пар — разный угол. Для первого токена происходит один поворот, для второго — два поворота, и так далее. Вращаем и query, и key.

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


Extending Context Window of Large Language Models via Positional Interpolation
Статья: ссылка

Казалось бы, ну и в чём проблема тогда? Пусть мы обучили модель на 4096 позициях. Тогда давайте просто вращать фичи 4097 раз, 4098 раза и так далее. Это называется экстраполяция 📊, и экспериментально подвтерждено, что она не работает с популярными базовыми моделями. Причём подтверждено ещё много где. При этом со стороны теории это несколько загадочно: RoPE не обучается и кодирует относитетельную позицию, так какого чёрта? То есть ожидается, что после экстраполяции модель будет себя вести так, как будто у неё скользящее окно в 4к токенов. А на самом деле её полностью разносит, логиты внимания для некоторых расстояний >4к улетают в небеса. 🤯
Почему? Об этом чуть ниже.

Пока же сосредоточимся на втором семействе методов — интерполяции. Базовая идея такая: представим, что для токена на 4096 позиции мы делаем в 2 раза меньше оборотов, 2048. И так для каждой позиции, вместо одного оборота делаем половину. После этого мы можем кодировать 8192 токенов вместо 4096. Но есть нюанс: модель-то не видела в обучении полуоборотов, соседние токены становятся практически неразличимы 💀
Поэтому авторы статьи полируют это всё тюном на расширенном контексте, что делает этот подход не особо практичным.


Scaling Laws of RoPE-based Extrapolation
Статья: ссылка

Суть статьи — обоснование провала экстраполяции. А виновата оказалсь база, θ = 10000 😐
Дело в том, что с такой базой не все фичи делают полный оборот за 4к. И в итоге для первых фичей модель видит полный оборот (и видит немонотонность функций), а для других фичей видит куски только до 2π, π или π/2. И как раз из-за наличия неполных кусков экстраполяция не работает как надо.

Авторы дотюнивают модель с разными базами, но в пределах оригинальной длины контекста, 4к. Если сделать базу радикально меньше, например 500, то все фичи совершают по несколько оборотов, и всё ок, экстраполяция будет работать с приемлемым качеством скользящего окна. С увеличением размера контекста становится хуже, но без переломов. Если сделать базу радикально больше, например 1000000, то точка перелома отодвигается на более широкий контекст, но всё ещё существует.

Хоть такой метод и выпадает из нашей изначальной постановки задачи, потому что снова надо тюнить, но тюнить-то надо на маленьком контексте 😊, поэтому проблем со сбором данных тут нет. Работает всё неплохо, особенно с маленькой базой.


NTK-Aware scaling
Пост: ссылка

Меняем интерполяцию с дообучением из первой статьи на масштабирование базы θ без дообучения. Описано в посте на Реддите, хронологически до статьи выше. По идее это всё ещё интерполяция (особенно если задать коэффициент масштабирования с запасом), только мы растягиваем для разных частот по-разному.


Dynamic NTK scaling
Пост: ссылка

Добавляем изменение коэффициента масштабирования в зависимости от текущей длины последовательности. То есть если текущая длины меньше оригинальной — не делаем ничего. А дальше растим коэффициент линейно.


YaRN: Efficient Context Window Extension of Large Language Models
Статья: ссылка

Добавляются две новых штуки: NTK-by-parts и температура в софтмаксе внимания. NTK-by-parts мотивирован фактом выше о том, что какие-то фичи и частоты и так нормально экстраполируются, так что их можно не трогать. Для тех фичей, которые не экстраполируются, мы интерполируем. А температуру меняем, чтобы выравнять распредление скоров внимания (она меньше 1). Да и экспериментально так получается перплексия пониже 🧠

И вот YaRN уже работает как без тюна, так и с тюном.

Читать полностью…

Старший Авгур

Опус и последний Соннет - единственные языковые модели общего названия, которые могут писать стихи. GPT-4o не вытягивает, а они - могут. Пример запроса: Пушкин про Warhammer 40k.

В просторах звёздных, где царит война,
Где вечный мрак и пламя битв пылает,
Стоит Империум, как твердая стена,
И Император верных охраняет.

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

В соборах Марса, где гудят машины,
Свершается под гул молитв таи́нство,
Где люди-киборги среди руин старинных
Куют оружие, даруя нам единство.

Повсюду Хаос сеет смерть и тлен,
Рой ксеносов клубится в бездне чёрной,
Но человечество, восстав с колен,
Бросает вызов участи позорной.

О, сколько павших душ, несчётных жертв войны!
Но долг велит идти вперёд без страха.
И в этом мраке беспросветной тьмы
Лишь вера движет нас из праха.

Пусть дух Владыки нас ведёт на бой,
Пусть враг падёт пред нашею рукой!
Империум стоит, незыблем строй,
И мы верны присяге вековой.


Местами криво, не с первой попытки, но с этим точно можно работать.

Читать полностью…

Старший Авгур

Прокинул в новый Клод инструменты (генератор картинок, чтение веб-страничек, поиск). Разница в API инструментов у OpenAI и Anthropic кровушки моей попила немало.

Кроме того добавил тумблер /tools, которым можно отключить инструменты.

Читать полностью…

Старший Авгур

Стало лучше, но на SFT тюне AWQ всё равно лучше оригинала... Хорошо хоть только в LC-винрейте.

Читать полностью…

Старший Авгур

Позиционная кодировка

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

Если вы вспомните, как работает внимание, то увидите, что там никак не участвуют позиции токенов. Но языковые модели должны как-то их понимать, иначе при предсказании следующего токена контекст превратится в bag-of-tokens, что критично повлияет на качество предсказания. Ведь да? 😁

Конкретные задачи, где позиции важны:
- Подсчёт токенов
- Копирование кусков контекста
- Арифметика и код

Мини-квиз для читателя (перед открытием спойлера нужно ответить на все вопросы в голове)
- Может ли BERT хорошо работать на стандартных задачах (классификация текста) без позиционной кодировки? Нет, не может
- Может ли GPT хорошо работать на стандартных задачах (генерация текста) без позиционной кодировки? Да, может
- Может ли декодер с RoPE, обученный на контексте в 1024 токена, хорошо генерировать 2048 токенов? Может только после экстраполяции/интерполяции


Attention Is All You Need
Статья: https://arxiv.org/abs/1706.03762

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

Например, предположим, что у нас 4 чиселки в эмбеддинге, 1 секунда = 1 позиция, у первой пары частота 0.5 Гц, у второй - 0.25 Гц. Тогда на нулевой позиции будет такой эмбеддинг: [0, 1, 0, 1], на первой позиции: [0, -1, 1, 0]. Потому что для первая пара проходит полоборота за шаг, вторая - четверть. Формула, по которой расчитывается частота для разных пар: (10000^(-2i/d)) / 2π, где i - номер пары.

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

Дополнительный материал: ссылка


RoFormer: Enhanced Transformer with Rotary Position Embedding
Статья: https://arxiv.org/abs/2104.09864

Есть свойство, которое нам хотелось бы получить: расстояние между 5 и 10 токеном должно быть таким же, как если бы мы поставили эти же токены на 10 и 15 позиции вместо 5 и 10. То есть оно не должно зависить от абсолютной позиции. Для синусоидальных эмбеддингов это не выполняется.

Чтобы это выполнялось, делаем так: каждую пару чиселок в уже готовых эмебеддингах токенов вращаем на плоскости матрицей поворота. Углы всё те же, что и были в синусоидальных эмбеддингах. В статье есть доказательство того, что желаемое свойство так действительно выполняется. А ещё мы делаем это в каждом слое.

Дополнительные материалы: раз, два, три


Transformer Language Models without Positional Encodings Still Learn Positional Information
Статья: https://arxiv.org/abs/2203.16634

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

Это всё подтверждается в нескольких последующих статьях: раз, два.

Так почему все до сих пор используют RoPE? Ну, NoPE (no positional embeddings) принципиально работает, но чуть хуже. Это видно и в этой статье.

Расширения RoPE будут дальше

Читать полностью…

Старший Авгур

Помните вот эту ситуацию? Когда человек утверждал, что LLM не могут решить какую-то задачу, утвердил приз $10'000, и через два дня расстался с деньгами? Я ещё в комментариях шутил, что если хотите на серьёзных щах что-то утверждать про ограничения систем — надо готовиться выкладывать деньги, ибо иначе людям, которые реально могут доказать, что вы не правы, просто не интересно.

А помните я на прошлой неделе писал про бенчмарк ARC от Francois Chollet? Якобы что это визуальная загадка, где нужно уметь на лету идентифицировать новые паттерны, и что текущие LLM в этом вообще не разбираются, и выдают <10% качества?

Как написали в одном из чатов (автор @senior_augur):
— Я думаю ARC никто долго не побивал, потому что он никому нахер не нужен был

На интервью Francois говорил, мол, вот LLM не умеют рассуждать и обобщаться, бенчмарку 4 года, а воз и ныне там стоит. И утвердил конкурс (ну и получил освещение в подкасте) на $1M (правда там пока только $500k доступно, и то со звёздочками, что фронтир-модели, лучшие из лучших, под критерии не попадают).

Прошло 6 дней. Воздуха набрали? Готовы? 😏
Знакомый подкастера из Redwood Research написал пост, где показывает, насколько высоки метрики GPT-4. На тренировочной выборке (публично доступной) качество 71% на 100 отложенных автором задачах, в которые он не подглядывал. Качество человека в среднем 85%. Кажется, что разрыв большой, но напомню, что основной тезис разработчика бенчмарка был «ну так LLM и 10% не решают!». На приватной выборке качество 51%, но не удивляйтесь — она сама по себе сложнее (и для неё неизвестен показатель человека, в смысле его просто не померили). До этого лучший метод давал 34% и не опирался на LLM.

Осталось дождаться, что Francois со своими друзьями возьмут метод и запустят на самом ультра-приватном датасете, который ещё никто не видел (специально для соревнований сделали), увидели там 50%+- и сидели вот так: 😅 , переосмысливали своё представления об «ограничениях дип лернинга».

Но вам наверное интересно, как работает решение? Примерно так:
— GPT-4o на каждую задачу генерирует примерно 5000 программ на питоне, которые потенциально могут быть решением
— программы фильтруются по их способности повторить 3 примера, которые всегда даются (по условиям задачи, именно по ним нужно установить зависимость и дать ответ)
— топ-программы, дающие максимально похожий результат (если нет правильных) отдаются на правку GPT-4o, типа «вот как нужно, вот как ты сделала, исправляй эту хрень». Тут генерируется ещё 3000 программ (итого 8000)
— выбирается финальный кандидат для решения.

Для того, чтобы это работало хорошо, нужно немного поиграться с входными представлениями (так как, как я и говорил, модель не очень хорошо «видит» картинку, совсем не так, как мы), используя ASCII и написать несколько примеров рассуждений. Обычно в промпт входит примерно 30'000 токенов — если добавлять больше, то модель начинает работать хуже после 32'000 по естественным причинам (это давно замечено).

Автор описал несколько итераций улучшений промпта, но самое главное, как я понял — это подать несколько представлений на вход для одной и той же задачи, просто потому, что GPT не видит так же, как это делает человек. «GPT-4o’s vision is terrible on grids» (потому что все задачи на клеточках). Ей нужно хорошо приготовить текст, разделить всё символами (типа 0 | 3 | 1 | 2, цифры обозначают разные цвета).

И второе — GPT-4o плохо кодит и часто ошибается на +-1 по клеточкам. Обе проблемы решаются с развитием моделей, так что ждём к концу года новых прорывов (хотя кому теперь интересно будет садиться за задачу?).

Читать полностью…

Старший Авгур

Сварилась phi3-medium KTO. Пока выглядит так, что phi3-medium очень хороша с точки зрения соотношения цена/качество. 13B, а совсем чуть-чуть 70B уступает.
Только abliterate пока не получилось сделать.

Читать полностью…

Старший Авгур

Ну так-то лучше. Только всё ещё часть промптов зацензурена.

Читать полностью…

Старший Авгур

Рано, ох рано я взялся за вторую Гемму. Официальные приколы:
- Связанный embed_tokens и lm_head (из-за чего при развязывании модель становится уже 10B) и огромный словарь.
- Скользящее окно внимания в каждом втором слое. До сих пор не поддерживается в vllm.
- Мягкая обрезка логитов во внимании и в финальном слое. Не совместимо с родным FlashAttention, из-за чего в том же vllm используют FlashInfer вместо этого.
- Post-ln и pre-ln одновременно, и с RMSNorm. В целом не проблема, но вот ортогонализации мешает.
- GQA: пофиг, все уже привыкли.

А есть ещё и неофициальные приколы:
- Неправильная константа масштабирования во внимании, которую поправили только недавно. И из-за которой какое-то время не работала конвертация в GGUF.
- Домножение эмбеддингов на sqrt(hidden_dim), что может быть проблемой в bf16. Плюс об этом нужно помнить во всех реализациях.

Плюс в том же Unsloth всё ещё есть баги при дообучении.

Читать полностью…

Старший Авгур

Ортогонализация во второй Гемме не работает.

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

Но пока исправить это не получилось. Я попробовал:
1) Снимать активации напрямую с выходов внимания и MLP, до нормализации. Для этого пришлось немного переписать TransformersLens. Почему-то это незначительно влияет на итоговые тексты, цензура не снимается.
2) Обращать RMSNorm. То есть снимать активации с того же места, где и раньше, но перед ортогонализацией делить направление на w из RMSNorm. Аналогично, ноль эффекта, временные интервенции работают, а ортогонализация — нет.

Звучит так, что я недостаточно хорошо понимаю, что вообще происходит, разбираюсь.

Читать полностью…

Старший Авгур

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

Понадобилось мне на днях проверить большой контракт на голландском. Загрузил в бота (с выбранной claude-3-5-sonnet) pdf'ку, попросил перевести, и контракт прекрасно перевелся. После этого я загрузил типовой шаблон контракта и попросил найти расхождения и странные моменты, и это тоже идеально сработало. В итоге Клод спас меня от реально стрёмного контракта, который бы я намучился Google translate'ом по предложениям переводить, так ещё и проконсультировал 👍

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

Читать полностью…

Старший Авгур

Исследование профессионального ML-cообщества

Между постами хочу помочь ребятам из Центра научной коммуникации ИТМО провести опрос для MLщиков. Далее из самого опроса цитата:

Его цель – узнать больше о том, как устроено пространство профессиональной коммуникации, экспертиза и рынок труда в этой сфере.


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

Читать полностью…

Старший Авгур

Поработал над кодом бота:
- Подрубил mypy, навесил CI
- Отрефакторил шаблоны, добавил поддержку локализации интерфейса
- Выделил несколько вещей в отдельные файлы
- Добавил поддержку анализа картинок в Sonnet-3.5

На скриншоте как раз он, плюс включен один из персонажей.

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

Читать полностью…

Старший Авгур

ЭВРИКА. Хз, когда Телега это добавила, но пришедшие звёздочки теперь отображаются. Для этого нужно тыкнуть в Edit в профиле бота (очень логично, да?), и потом Balance. Так что добавлю оплату и ими.

Читать полностью…

Старший Авгур

Я там долил ещё примеров в saiga_scored и переобучил sft Лламу, получилась m11_d7. Она лучше предыдущей sft по метрикам. Но хуже после abliterate. После этого ещё навернул KTO, и так получилась m11_d7_abliterated_kto_m7_d7. По метрикам 49% против v6, зато обесцензуренная. Была ещё попытка с DPO вместо KTO, но там длина разъехалась. Попробую сначала сделать abliterate, а потом sft, может станет лучше.

А ещё пробую разделённые LR из https://unsloth.ai/blog/contpretraining

Читать полностью…

Старший Авгур

Отдал ручки Сайги сюда: https://llmarena.ru/
Отдал v6, saiga_phi3_medium_sft_m1_d2_kto_m5_d7 и saiga_llama3_70b_sft_m1_d5_abliterated_awq_4bit
В боте доступны всё те же модельки.

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

Читать полностью…

Старший Авгур

Опус и типичные загадки.

В целом, они ещё подходят для теста локальных моделей, но по-моему что у OpenAI, что у Anthropic это всё уже есть в обучении.

Читать полностью…

Старший Авгур

Новый Клод и saiga_llama3_70b_sft_m1_d5_abliterated_kto_m1_d2_awq_4bit (ну и название) доступны в боте. Самое приятное - стоит новый Sonnet как старый Sonnet, то есть в 5 раз дешевле Опуса.

Читать полностью…

Старший Авгур

не понял

Поставил считаться с saiga_llama3_70b_sft_m1_d5_abliterated в качестве опорной точки.

Читать полностью…

Старший Авгур

Планирую подрезать лимиты моделей в два раза. Подписок нет, донатов нет, счёт за gpt-4o за вчерашний день: 28$.
Я, конечно, всё ещё не бедствую, но утекание 30$ в день даже для меня заметно.
За локальные модели всё ещё меньше 5$ в день, по ним ничего не меняется.
Данных я насобирал предостаточно, на неделе обработаю и доложу как обычно в saiga_scored.

Если вдруг кто-то хочет помочь:
Cloudtips (из России): https://pay.cloudtips.ru/p/ea94d893
KoFi (не из России): https://ko-fi.com/ilyagusev
TRC20 usdt: TZ7eFAvmq45585G2Xu6sfaGCKS4WPBMgJT
ERC20 usdt: 0xf877B6DBBaAb35d9302b4AD5A3b7E296d0E18059

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

Читать полностью…

Старший Авгур

KTO 70B, причём off-policy. Что же будет, когда я туда примеры из самой модели подложу...

А, и phi3-medium можно тыкать в боте.

Читать полностью…

Старший Авгур

3 бита совсем уж грустненькие 😭

Читать полностью…
Subscribe to a channel