Актуальные темы
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
Вчера вечером я научил nanochat d32 считать букву 'r' в слове strawberry (или в подобных вариантах). Я подумал, что это будет хорошим/веселым примером того, как добавить возможности в nanochat, и я написал полный гид здесь:
Это делается с помощью новой синтетической задачи `SpellingBee`, которая генерирует примеры того, как пользователь задает подобную задачу, и идеальное решение от помощника. Затем мы проводим промежуточное обучение/SFT на этих примерах, чтобы наделить LLM этой способностью, или продолжаем обучение с помощью RL, чтобы сделать его более устойчивым. Есть много деталей, которые нужно учесть, особенно для меньших моделей, и гид проходит через них. В качестве краткого обзора:
- Вы должны обеспечить разнообразие в запросах/вопросах пользователей
- Для небольших моделей, таких как nanochat, особенно важно быть очень внимательным к деталям токенизации, чтобы сделать задачу легкой для LLM. В частности, нужно быть осторожным с пробелами, а затем распределить вычисление рассуждений по многим токенам частичного решения: сначала мы стандартизируем слово в кавычках, затем мы его произносим (чтобы разбить токены), затем мы итеративно продолжаем и ведем явный счетчик и т.д.
- Я поощряю модель решать задачу двумя отдельными способами: вручную (умственная арифметика в голове) и также с помощью инструмента Python интерпретатора, к которому имеет доступ nanochat. Это немного "дым и зеркала", потому что каждое решение на данный момент "чистое", без ошибок. Можно либо изменить задачу, чтобы смоделировать ошибки и продемонстрировать восстановление на примере, либо запустить RL. Скорее всего, комбинация обоих методов будет работать лучше, где первый будет служить приоритетом для RL и даст ему материалы для работы.
Если бы nanochat была гораздо большей моделью, вы бы ожидали или надеялись, что эта способность "всплывет" в какой-то момент. Но поскольку "мозг" nanochat d32 размером с ~пчелу, если мы хотим, чтобы он считал буквы r в слове strawberry, нам нужно сделать это, чрезмерно представляя его в данных, чтобы побудить модель выучить это раньше. Но это работает! :)

Топ
Рейтинг
Избранное

