Telegram Group Search
И так будет с каждым
Training Large Language Models to Reason in a Continuous Latent Space
https://arxiv.org/abs/2412.06769

Очень понравилась недавняя статья от Meta с, как это обычно и бывает, простой и гениальной задумкой – давайте заменим шаги в CoT на какие-нибудь тренируемые репрезентации и посмотрим, эффективнее ли это оказывается для обучения всякому ризонингу (конечно оказывается, что да). Как сейчас все любят отмечать, некоторые токены сложнее остальных, а ресурсов тратится при генерации одинаково, что особенно отражается на длинных CoT-цепочках. Большая часть сгенерированных там слов нужна скорее для поддержания логики языка и структуры предложений, и это мало помогает модели как-то ризонить.

Технически это реализуется так:
- Модель тренируется в несколько этапов. На первом все шаги CoT сохрянются на естественном языке.
- На следующих этапах первые несколько шагов рассуждения заменяются на то, что авторы называют continuous thoughts – по факту это hidden state предыдущего токена. Получается, что вместо обычных входных эмбеддингов у нас получается входная последовательность [e(x1), e(x2)....h(x_i),....,h(x_j-1), e(x_j)....], где e - это эмбеддинги, а h - hiddent states соответственно. По бокам от continuous thoughts ставятся еще специальные служебные токены.
- Каждый следующий этап все больше шагов заменяются на continuous thoughts. В статье авторы на каждом шаге заменяли следующие 2 шага решения и обучали в 3 этапа

Больше всего такой подход повышает качество на QA задачах, например, на ProntoQA этот метод выбивает 99% accuracy, генерируя при этом в 10 раз меньше токенов, чем обычный CoT. На бенче ProsQA, где модели нужно ответить на 5-hop questions (то есть "в уме" подставить пять пропущенных концептов в рассуждении), accuracy повышается на 20%, и используется при этом в 3.5 раза меньше токенов

В статье получились очень интересные аблейшены. Например, даже если заставить модель, обученную таким образом, генерить обычный CoT, то ее качество все равно будет выше. Авторы это атрибутируют к тому, что благодаря способу тренировки, модель учится очень хорошо планировать наперед – если ей доступен только вопрос и последние шаги рассуждения, то ей нужно хорошо понимать, как в итоге к финальным выводам прийти

Еще более интересно – модель учится приоретизировать потенциально более интересные / правильные направления мыслей. Если заставить модель свичнуться на естественный язык после первой continuous thought и посмотреть на вероятности токенов для ответа на следующий шаг, то модель сразу "занижает" вероятности очевидно неправильных вариантов, но при этом примерно с одинаковой уверенностью предсказывает кандидатов, между которому она еще не может решить. После следующих размышлений модель итеративно апдейтит эти вероятности. Это говорит о том, что модель не просто "сжимает" цепочки рассуждений в какой-то более компактный эмбеддинг, а что она оказывается способна держать в голове несколько веток решений параллельно, между которыми она может довольно долго выбирать и только потом сгенерировать первый токен ответа.
Помимо крутой задумки, меня тут очень интересует связь с некоторыми другими трендами в обучении LLM, которые тут раньше затрагивались в постах. Например, в этом выступлении Jason Wei (OAI) говорит, что для LLM нужно придумывать не новые архитектуры, а новые training objectives. В том числе из-за того, что предсказание следующего токена получается слишком "жестким" критерием моделирования – существует слишком много способов выразить одну и ту же мысль, плюс, это как раз заставляет модель сразу выбрать свою цепочку размышлений, вместо того, чтоб поддерживать несколько одновременно и думать какое-то время. В том же выступлении он говорит о том, что все развитие DL в последние годы состоит в уменьшении inductive bias, и тут снова continuous thoughts позволяют моделировать что-то более абстрактное, не привязанное к структуре языка

Еще мне очень понравилась в свое время статья Platonic Representations, которая пытается показать, что латетные представления моделей для разных концептов в итоге сходятся к человеческому восприятию, что логично, раз модели тренируются коммуницировать с людьми. В конце авторы однако мимолетно вбрасывают, что не факт, что такие репрезентации оптимальны для всех задач. И тут кажется ресерч от Meta достаточно явно показывает, что рассуждать можно эффективнее, если рассуждать не на естественном языке, – не поддерживать внутреннюю логику предложений, не тратить компьют на грамматическую корректность, а репрезентировать абстрактное нечто и не совсем человеческое
Как можно было заметить по активности в канале, в последние месяцы было очень мало времени писать про статьи, но читать некоторые из них мне все-таки удавалось. Отбросив в какой-то момент попытки написать про каждую из них отдельный пост, я решила лучше сделать хотя бы вот такой рекап. В основном тут все про ризонинг!

🌟 s1: Simple test-time scaling. Одна из самых прикольных и простых идей из недавнего: собираем маленький, но хороший датасет с трудными задачами (в основном математика), получаем reasoning traces решений (от Gemini), тренируемся без всякого RL, просто SFT. Test-time compute скейлим очень в лоб, а именно когда модель закончила генерить, добавляем "wait" к ее ответу и просим модель продолжать генерировать, и повторяем до тех пор, пока не наберется достаточное количество токенов. Файнтюн 32B модели в итоге превосходит o1-preview на задачках на олимпиадную математику. Понятно, что дело здесь не в магическом датасете или в волшебном слове "wait", а в том, что мы заставляем модель потратить очень много времени на генерацию и перепроверять свой ответ много раз.

В некоторых других статьях авторы тоже используют трюк с тем, чтобы гонять модель дольше, но более осмысленно передают ей фидбек. Например тут с помощью GRPO обучали модель-критика, задача которой оптимальным образом оценивать генерируемые решения и отмечать, что в них нужно улучшить, и заводили генерацию в multi-turn на несколько раундов. Кажется у NVIDIA в эксперименте с тем, чтобы заставить модель генерировать хорошие CUDA kernels, был такой же сетап: r1 сначала генерировала решения, потом некий verifier (о котором они ничего особо не сказали) поправляет промпт, и так по кругу, пока в итоге r1 не начинает генерить кернелы лучше, чем в торче.

Несмотря на то, что идея простая и рабочая, мне на этом фоне становится все больше интересно, что делали OAI с o3 моделями, чтобы повысить их эффективность и сократить длину рассуждений там, где задача полегче и не требует такого большого времени ответа. Даже в репорте про r1 авторы показывали, что чем дальше шла RL трена, тем длинее становился в среднем ответ, и под конец длина болтается около 10k токенов. Очевидно, что это бустит перформанс, но не для каждой задачи это нужно. В тему этого мне попалась одна статья про возможно более оптимальную архитектуру:

🌟 Scaling up Test-Time Compute with Latent Reasoning: A Recurrent Depth Approach. Тут у нас сотое по счету возрождение RNN. На входе и выходе у модели находятся слои фиксированного размера – prelude and coda (по сути энкодер и декодер). Между ними располагается реккурентный блок, который мы можем перепрогонять нужное количество раз at test-time. Например, рекурсия останавливается, если KL-дивергенция на между последними двумя итерациями меньше, чем какой-то заданный порог. Таким образом мы экономим на вычислениях, потому что вместо генерации chain-of-though (или reasoning trace, как угодно) в токенах, все размышления происходят прямо в latenet space. Кстати больше всего итераций модели понадобилось на бенчмарках про философию и моральные дилеммы, и только во-вторых на математических задачах 🥂

Обучать такую модель достаточно запарно, и про это много написано в разделе про тренировку, но я очень рекомендую целиком прочитать эту статью, она просто отлично написана. Тем более что им удалось эту архитектуру как-то даже хорошо заскейлить, пока не кончились ГПУ
Please open Telegram to view this post
VIEW IN TELEGRAM
Еще после прочтения s1 может возникнуть вопрос, нужен ли вообще RL, если можно классно обучаться в SFT. Тут четкого ответа у меня нет, но есть две статьи:

🌟 Competitive Programming with Large Reasoning Models, статья от OAI. Там они сначала с помощью некоторых костылей заставляют o1 решать задачи из International Olympiad in Informatics 2024. Костыли включали в себя реранкинг, коорый из 10к сгенерированных решений выбирал 50 лучших, и дополнительный кластеринг этих решений, чтобы набирались более разнообразные варианты. Это все позволило o1 сместиться из 89 перцентиля участников в 98. Но потом оказалось, что простая советская o3 сразу выбивает 99.8 перцентиль, без дополнительных ухищрений at test-time, просто за счет RL во время обучения. Конечно интерпретировать результаты OAI тут сложно, потому что мы почти ничего не знаем о тренировке o3

🌟 Scaling Test-Time Compute Without Verification or RL is Suboptimal. Тут уже более обстоятельно (с кучей формул) авторы утверждают, что RL лучше дистиляции на reasoning traces, если генерации модели достаточно гетерогенны. Гетерогенность понимается здесь в том смысле, что некоторые задачи модель решает верно и достаточно быстро, а для других ей нужно гораздо больше времени, и следовательно здесь модели бы помог более эксплицитный сигнал в виде какого-то реварда. Еще при гетерогенности у модели появляется шанс случайно наткнуться на хорошее (better than average) решение, и RL позволяет развивать в моделях это свойство, в отличие от обучения в SFT. В статье есть и эмпирические доказательства, но не особенно масштабные, чтобы можно было сказать, что это правда всегда и везде

А еще кажется есть пруф, что совсем маленькие модели <3B плохо учатся на дистилированных длинных reasoning traces от больших моделей, а вот с ~7B имеет смысл такое делать

~~~~~~~~~
В следующий раз я вернусь с новыми статьями, и надеюсь не через три месяца 🧇
Please open Telegram to view this post
VIEW IN TELEGRAM
Уже пару раз я бампала аватарку паблика, когда выходила какая-нибудь новая модель для генерации изображений, которая существенно повышала планку в плане качества или стиля. Для сравнения, первая аватарка (кроме фото жабы) была сгенерирована через какой-то GAN в далеком в 2021 году, в 2023 это уже Midjourney v5, и вот теперь наконец-то можно попробовать gpt-4o! Я до сих пор использую тот же самый промпт – "An open notebook, some code on the screen. waporvawe aesthetic, greek statues in the background, light purple hues" (что поделать, душой я все еще в эпохе тамблера)

В плане стиля мне до сих пор вариант Midjourney кажется интересней, но тут кажется очевидно, насколько у gpt-4o лучше instruction following и насколько более точно это попадает в промпт. И особенно понравилось, что ее можно бесконечно задалбывать правочками 💅 Например, подбирать полутона фиолетовотого. Или вообще попросить исправить косяки с анатомией на текущей аватрке, не меняя ничего остального. Или заменить греческие статуи, разумеется, на статуи в стиле studio ghibli. Или даже самой стать аниме девочкой с вапорвейв бекграундом 😊

Этот глубокомысленный пост направлен в основном на то, чтоб вспомнить, как в 2021 году казалось совершенно невероятным, что модель генерит хоть что-то похожее на то, что ты у нее попросил. В 2023 уже стало гораздо лучше и реалистичнее, но проблемы с деталями и с кастомизацией тоже были очевидны. Чего ждать в плане генерации изображений еще через пару лет я уже даже не знаю. Скорее всего, следующий бамп будет уже касательно видео, – OpenAI и/или Google выпустят какой-нибудь instruction-based апдейт для Sora / veo, а мы все будем жаловаться, что модель плохо настраивает светокор, или что на двадцатой минуте видео у человека три руки...
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Поскольку сейчас выходит тонна ресерча про то, как сварить свою ризонинг модель, решила здесь как-то суммировать то, что есть к настоящему времени. Первая пачка статей о том, как связаны между собой SFT-претрен и RL и вообще про то, при каких условиях ризонинг нам в чем-то помогает


🤔 Cognitive Behaviors that Enable Self-Improving Reasoners

Отличный разбор этой статьи уже был в Сиолошной, я из нее хочу выделить несколько моментов:

- Авторы описывают 4 вида когнитивных приемов, которые модели могут использовать, чтобы добиться лучших результатов при решении проблем: 1) делать шаг назад и пересматривать свой ответ, когда обнаруживается ошибка, 2) перепроверка промежуточных результатов, 3) дробление на подзадачи, 4) решение задачи "в обратную сторону", то есть, зная ответ, пытаться догадаться, какие шаги к нему привели
- У Qwen и без какого-либо дообучения в 62% процентов размышлений была самопроверка. В отличие от моделей семейства LLaMA, где такого почти не наблюдалось
- Для эксперимента авторы собрали примеры цепочек рассуждения Claude-3.5-Sonnet, в которых бы использовались описанные выше 4 приема, и после SFT-тренировки на них скоры LLaMA стали заметно выше Qwen
- Интересно при этом, что даже при тренировке на цепочках с ошибками (в одном из шагов или с неправильнмы ответом), качество итоговой модели практически никак не отличалось от той, что тренировалась только на "правильных" цепочках
- Аналогично проверяли гипотезу о том, не помогает ли просто длина ответа решать задачи лучше. То есть, видим ли мы улучшение только из-за того, что модель может рассуждать дольше, или из-за того, что в обучении было что-то полезное. Для этого также обучали модель на "пустых" chains-of-thought, где просто нужную длину добили каким-нибудь токеном (по аналогии со статьями про think tokens ранее, где модели как будто просто давали "время" подумать перед ответом). Это никакого прироста скоров не дало
- После SFT-тренировки модели также дообучали с помощью RL играть в Countdown. Там оказывалось, что RL больше "продвигает" наиболее эмпирически полезные для игры стратегии – верификацию и пересматривание ответа – и подавляет не особо нужные


1/2
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 There May Not be Aha Moment in R1-Zero-like Training — A Pilot Study

- Здесь аналогичное наблюдение, что "Aha moment" (которое в статье про r1 преподносилось как доказательство emergent capability к рефлексии своего ответа) наблюдается и до обучения, особенно у моделей Qwen и особенно при высоких температурах
- При этом, в base models (без RL-дообучения) эти размышления большую часть времени не приводят к правильному ответу или исправляют ответ на неправильный в ходе решения (это оценивали по Qwen2.5-Math-1.5B, но хотелось бы увидеть и модель побольше если честно)
- Еще одно наблюдение про связь длины ответа и reasoning capabilities: в своем эксперименте с возспроизведением тренировки r1 авторы показываеют, что на начальных шагах обучения модель больше всего выбивает реворд из следования формату, так как это выучить проще всего. В течение этой стадии, средняя длина ответа падает. Дальше модель начинает пытаться получать более высокий реворд за счет правильных ответов. Здесь длина генераций начинает расти, так как модель предепринимает много попыток прийти к правильному решению за раз. Как побочный эффект появляются и superficial self-reflections, когда модель рассуждает долго, но к правильному ответу не приходит, из-за такого специфичного misalignment. Получается, что все правильные ответы достигаются при длинных рассуждениях, и модель учится генерировать много, но не обязательно правильно
- При этом, дополнительно авторы показывают, что с длиной ответа не растет число self-reflection keywords вроде "check again", "let's verify" и так далее. До есть длина ответа снова получается не гарант того, что модель чему-то полезному научилась

Это как будто порождает еще больше новых вопросов касательно того, за счет чего скоры в ходе RL-тренировки продолжают расти, если увеличивается только длина, но не объем какой-то полезной саморефлексии. Может быть, наиболее правильные и выигрышные цепочки рассуждений просто требуют больше текста, даже если он не разбивается на большее число повторений "let's revisit our solution" и подобных? И можно ли найти тогда оптимальную длину ответа, при которой уже есть какое-от насыщение от ризонинга, и остановиться тогда на ней, вместо того, чтобы дальше скейлить число токенов?

🤔 SFT Memorizes, RL Generalizes: A Comparative Study of Foundation Model Post-training

Очень хорошая статья, тем более обожаю когда выводы в названии. Еще там необычные задачи для RL – карточная игра и визуальная задача по навигации по картам – обе из которых можно решить в pure language и vision-language формате
- SFT и для языковой, и для VLM модели лучше себя показывает, когда нужно просто выучить правила какой-нибудь игры, но только RL оказывается способен генерализоваться достаточно, чтобы решать out of distribution вариации задачи
- Но при этом SFT очень нужен, если модель изначально плохо следует формату или инструкциям – тогда RL просто не заводится
- RL скейлится с числом verification steps на инференсе, что уже в принципе было понятно из тех же экспериментов NVIDIA с генерацией cuda kernels по кругу, добавляя фидбек от модели-критика в промпт. Но теперь на это есть целая академическая ссылка ✏️

Для меня эта статья объясняет немного успех SFT-файнтюна на reasoning traces в стиле s1, о котором я писала парой постов выше. Если стартовать с уже неплохой модели (Qwen) и трениться, как это обычно делают, на математике, то ожидаемо вырастут скоры на математическихх и кодерским бенчах, на которые сейчас все смотрят. Но вряд ли из этого получится модель класса o1 / r1 в целом
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Интересная деталь была сегодня в стриме про gpt4.1 – одновременно с этим релизом, анонсировали депрекейшн gpt4.5 в API (да, ту модель, которая вышла полтора месяца назад), с формулировкой что сейчас эти ГПУ нужнее в ресерче 🌚
Интересно, варится ли там снова что-то огромное, или настолько много ресурсов теперь у них уходит на аниме картинки в проде
Reasoning Models Can Be Effective Without Thinking
https://arxiv.org/abs/2504.09858


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

<|beginning of thinking|>
Okay, I think I have finished thinking.
<|end of thinking|>


чтобы модель генерировала сразу финальный ответ

Результаты получились такие:
- Даже с отрубленным ризонингом, DeepSeek-R1-Distill-Qwen-32B на всех бенчах строго лучше Qwen-32B-Instruct

- Из коробки NoThinking сетап генерирует в 3.3–3.7 раз меньше токенов, чем та же модель с Thinking (то есть, когда модели позволяют целиком сгенерить ризонинг трейс). При этом, бенчи на доказательство теорем NoThinking подход решает даже лучше

- На остальных бенчах также ожидаемо pass@1 у NoThinking проседает, и чем больше k мы ставим, тем ближе приближаемся к модели с Thinking. Для меня это слегка неожиданно, так как все последние папиры упирали на sequential scaling (чем дольше модель думает, тем лучше), а не на parallel (много независимых попыток)

- Из-за того, что генерации NoThining короче, их как раз можно достаточно хорошо распареллелить. Авторы показывают в том числе, что NoThining Парето-доминирует Thinking по латенси и pass@1, если мы, например, генерируем несколько вариантов ответа и выбираем финальный простым большинством

- Если обрывать Thinking модель на определенном числе токенов, чтобы зафорсить ее раньше сгенрировать финальный ответ, то NoThinking окажется строго лучше. То есть не ризонить в принципе оказывается лучше, чем поризонить не до конца. Отчасти можно объяснить это тем, что мы "обрываем" рассуждения модели таком образом в рандомном месте, но все равно неочевидное наблюдение

Самые важные здесь для меня выводы в следующем: 1) из первого пункта отлично видно, как RL с ризонингом вытягивает способности модели. То есть, что такие модели получают скоры выше не только потому, что могут дольше думать, планировать или подсматривать в свой набросок решения, но и потому, что просто оказываются умнее. 2) Все еще имеет смысл что-то делать с parallel scaling, хотя мне казалось, что всякие monte carlo tree search c LLM умерли вместе с выходом о1
Reinforcement Learning for Reasoning in Large Language Models with One Training Example
https://arxiv.org/pdf/2504.20571

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

Как понятно из заголовка, модель тренируют с помощью обычного GRPO всего на одном примере. И качество на тесте действительно растет, при чем со временем оно сходится к качеству модели, которую обучали на датасете обычного размера в 7.5k наблюдений. К чести авторов, помимо просто качества на тесте они репортят еще и среднюю accuracy на 6 разных математических бенчмарках – там оно тоже растет.

При этом по графику видно, что изначально модель очевидно осуществляет reward hacking – то есть просто учится отвечать в правильном формате (здесь это ответ, заключенный в \boxed{}) – после этого точность значительно падает, и только где-то на 300-ом шаге начинает расти обратно, видимо, засчет реально выросших способностей к ризонингу

Как выбирать один единственный пример для обучения? Вообще можно взять рандомно и увидеть какой-то нетривиальный прирост качества (в статье 30+% для рандомного выбора). Но самый оптимальный в статье выбирали по historical accuracy. Модель тренировали несколько эпох на полном датасете и для каждого примера замеряли, может ли модель его решить в конце эпохи. Лучший пример в этом плане тот, где вариация accuracy во время тренировки самая большая. Мотивировано это тем, что для RL обучения очень важна вариация сигнала от реворда, и тут мы можем ожидать, что тренируясь на таком примере, реворд не будет константным (не будет ситуации, что пример каждую эпоху либо идеально решен, либо не решен вообще никогда).

Интересно, что в итоге лучший пример, который использовали авторы, 1) не сложный – модель без тернировки как правило может его решить вплоть до последнего шага, 2) имеет неправильный ground truth ответ – верным является решение 12.7, а в датасете стоит 12.8

Самый неожиданный клейм статья – феномен, который авторы назвали post-saturation generalization. Accuracy на тренировке как правило достигает 100% за первые 100 шагов обучения, но качество на тесте продолжает расти дальше, даже после 1500-ого шага. При этом, на тренировочном примере происходит полный оверфит: модель в какой-то момент начинает выдавать бессмысленную мешанину из токенов на смеси языков, посреди этого все равно выдает правильный ответ в \boxed{}, но на тестовых данных при этом продолжает отвечать нормальных связным текстом (!). Для SFT моделей я никогда ничего похожего не видела, и если этот феномен воспроизводится на других данных, то это очевидно огромное преимущество RL. Если оверфит на тренировочных данных не транслируется в плохое качество на тесте, то теоретически можно тренироваться на одном и том же датасете огромное количество раз, и модель продолжит учиться чему-то новому дальше. На этом фоне мне вспомнились заголовки из ноября 2023 о том, что алгроитм q*, который по слухам разрабатыл Суцкевер до ухода из OpenAI, должен был решить проблему заканчивающихся данных для обучения моделей. Получается, RL-ем действительно ее можно решить не только в том смысле, что это более эффективно, чем SFT, но и в том понимании, что здесь гораздо сложнее упереться в лимит по данным.

При чем, автооры отдельно показывают, что это не похоже на гроккинг, который может происходить при SFT-обучении. Там это являетcя эффектом регуляризации, а в этой статье эффект воспроизводится, если вообще никакую регуляризацию (weight decay) не включать в формулу лосса. И в целом можно добиться практически того же качества, если оставить только policy loss (который зависит от ревордов), и убрать и weight decay, и KL-дивергенцию, и entropy loss, которые дефолтно используются в GRPO.
Параллельно с этим, в статье выдвигается гипотеза, что post-saturation generalization происходит во много благодаря тому, что повышается разнообразие ответов, которое семплируется в процессе обучения (так выше вероятность, что хотя бы какие-то способы решения будут правильные, и они будут поощряться RL-алгоритмом). Например, если обучаться с низкой температурой (t=0.6) и без entropy loss, то дальше 150-ого шага никаких улучшений не наблюдается. В связи с этим в статье есть еще очень интересный эксперимент, когда модель обучали только с entropy loss, то есть не уделяя никакого внимания реворду, просто повышали энтропию и тем самым поощряли более разнообразные ответы. На удивление, такая модель тоже показывала рост качества на тесте, хотя конечно не такой сильный (+8% в среднем для 6 бенчмарков). Из этого всего авторы заключают, что в GRPO главным образом доминриует эффект policy loss, который одновременно заставляет модель придерживаться эмпирически выигрышных стратегий при решении ответа, но при этом имплицитно осуществляет регуляризацию за счет того, что модели все равно нужно продолжать корректно решать тренировочный пример. При этом, очень важно параллельно повышать энтропию, за счет температуры и/или entropy loss.

Также в аблейшенах авторы показывают, что обучение на примере из определенного раздела математики бустит качество и на других разделах (я предполагаю, и на коде тоже бы оно поднялось). При этом, задачка из, например, геометрии может больше всего поднять скоры на теории чисел, а не на самой геометрии. Из чего можно предположить, что здесь происходит не переобучение под какой-то домен. Еще один интересный факт – если в ground truth ответе есть небольшая погрешность (например, 12.7 вместо правильных 12.8), то это почти не мешает модели обучаться. Но если там какая-то существенная ошибка, то это даже хуже, чем обучаться просто на бессмысленном ответе
Ну и пожалуй самый нетривиальный скрин из статьи 🤨
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/06/11 10:10:55
Back to Top
HTML Embed Code: