📱

Get Our Mobile App

Take your business learning on the go!

Download on the App StoreGet it on Google Play

Ключевые мысли от Andrej Karpathy, которые нужно знать в 2026 году

Peter Hanzo40:09

Transcription

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

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

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

Привет, меня зовут Пётр. Если тебе всегда интересно было нейросети и как это можно применять в бизнесе, каким образом новые функции использовать, какие не использовать, то заходи ко мне в Telegram-канал. Я там выставляю мои последние какие-то выводы, какие-то лекции, какие-то лайфхаки, ссылочки и так далее. Я занимаюсь и уже почти два десятилетия, ну, точнее, наверное, лет 15 или около того, не так уж и долго, если честно. У вас здесь был Ричардс Сатан, который в этой сфере, конечно, намного дольше работает, но у меня есть около 15 лет опыта наблюдения за тем, как люди в этой области делают прогнозы и как они в итоге реально сбываются. Плюс я какое-то время работал в индустрии, какое-то в исследованиях, так что у меня сложилось определённое общее интуитивное понимание, которое осталось от всего этого.

Люди начали думать: "Хорошо, может быть, мы разобрались со зрительной корой, но как насчёт остальных частей мозга? Как создать полноценного агента, который может взаимодействовать с миром?" Потому что это была попытка создать агентов, которые не просто воспринимают мир, но и действуют, взаимодействуют и получают вознаграждение. И тогда это были игры Atari, да. И мне кажется, что это был неверный путь, когда примерно года два, три или даже четыре практически все занимались обучением с подкреплением на различных играх. И в итоге, по сути, это оказалось ошибкой, неверным направлением. У меня такое ощущение, что люди несколько раз пытались получить полноценную систему слишком рано, пытаясь создать агентов преждевременно. Так было с играми Atari, с проектом Universe и даже в моём собственном опыте. На самом деле нужно сначала решить определённые базовые задачи и построить фундамент, прежде чем переходить к созданию полноценных агентов.

Я очень осторожно провожу аналогии с животными, потому что они появились в результате совершенно другого процесса оптимизации. Животные - результат эволюции, и они приходят в мир с огромным количеством встроенных механизмов. Например, жеребёнок зебры рождается и через несколько минут уже бегает и следует за матерью. Это невероятно сложная задача. Это не обучение с подкреплением. Это врождённое. И очевидно, у эволюции есть какой-то способ кодировать веса наших нейронных сетей в последовательностях нуклеотидов ДНК в ATCJ. Я совершенно не понимаю, как именно это работает на механистическом уровне, но это явно работает. Поэтому мне кажется, что мозг животных возник в результате совершенно другого процесса. И я очень неохотно черпаю из этого вдохновения для наших систем, потому что мы на самом деле не воспроизводим и не запускаем этот эволюционный процесс.

В своей статье я объяснял, что на самом деле мы создаём не животных, а скорее цифровых призраков или духов. Причина в том, что мы не используем эволюционный процесс для обучения. Наш подход основан на имитации людей и данных из интернета. Ещё один момент. У Садена очень чёткая позиция. Он хочет создать именно животных. И было бы замечательно, если бы это сработало. Если бы существовал один универсальный алгоритм, который можно запустить в интернете, и он научился бы всему сам. Это было бы невероятно. Но я сомневаюсь, что такой алгоритм вообще существует. Точно не то, что делают животные, потому что у них есть внешний контур эволюции. Много из того, что выглядит как обучение, на самом деле является созреванием мозга. Я думаю, что у животных очень мало настоящего обучения с подкреплением, и большая его часть связана с моторными задачами, а не интеллектуальными.

Суть в том, что когда мы обучаем модель предсказывать следующий токен на данных из интернета, то есть делаем предварительное обучение, она решает сразу две задачи, которые на первый взгляд не связаны. Первое, она накапливает знания, как я это называю. Второе, она становится интеллектуальной. Я вообще считаю, что накопленные знания, скорее всего, тормозят развитие нейросетей в целом, потому что модель начинает слишком сильно на них полагаться. Например, агенты плохо справляются с задачами, которых нет в их обучающих данных. Если бы у них было меньше запомненных знаний, возможно, они работали бы лучше. Нам нужно найти способы убрать часть этих знаний и выделить то, что я называю когнитивным ядром. Это интеллектуальная сущность, очищенная от фактов, но содержащая алгоритмы, саму суть интеллекта, способность решать задачи, строить стратегии и всё такое. Интересно, насколько это вообще важно.

В целом согласен. Обычно я объясняю это так. Всё, что модель узнаёт во время обучения, остаётся в весах как смутное воспоминание. Просто потому что степень сжатия огромна. Мы берём 15 триллионов токенов и упаковываем их в несколько миллиардов параметров. Сжатие действительно колоссальное. Поэтому я и называю веса модели чем-то вроде смутных воспоминаний об интернет-документах. А вот то, что происходит в контекстном окне, когда модель обрабатывает токены и строит KV-кэш, это напрямую и доступно нейросети. Поэтому я сравниваю KV-кэш и всё, что происходит на этапе инференса, с рабочей памятью человека. А всё, что вы даёте модели в контексте на этапе инференса, это попадает прямо в рабочую память. Думаю, это очень полезная аналогия для понимания работы моделей. Например, когда вы спрашиваете LLM о какой-то книге, скажем, о книге Николлейна, она обычно выдаёт что-то примерно правильное, но если дать ей целую главу в контексте, и потом задать вопрос, результат будет намного лучше, потому что информация теперь в рабочей памяти модели.

Если честно, мне кажется, что нам всё ещё не хватает очень многого. Можно взглянуть на это вот как. И я снова использую аналогии, пусть они несовершенны. У меня такое впечатление, что мы почти случайно наткнулись на архитектуру нейросети трансформера, которая оказалась исключительно мощной и универсальной. Трансформеры можно обучать на аудио, видео, тексте, на чём угодно, и они отлично находят закономерности и работают превосходно. Когда мы учим нейросети рассуждать и планировать, выстраивая цепочки рассуждения для думающих моделей, это похоже на работу префронтальной коры головного мозга. Можем поставить пару галочек, но многие отделы мозга ещё не изучены. Базальные ганглии делают что-то вроде обучения с подкреплением. Мы это используем при дообучении. Но что такое гиппокамп для наших моделей, непонятно. Некоторые части вроде мозжечка, возможно, не так важны для когнитивных функций, так что, возможно, мозжечок можно пропустить.

Мне кажется, что когда я бодрствую, я накапливаю что-то вроде контекстного окна из событий, происходящих в течение дня. Но когда я ложусь спать, происходит что-то интересное. Я не думаю, что это контекстное окно просто сохраняется. Мне кажется, есть некий процесс дистилляции накопленной информации в веса моего мозга, и это происходит во время сна и тому подобных процессов. У больших языковых моделей нет эквивалента этому процессу. У этих моделей нет такой фазы дистилляции, когда они берут то, что произошло, навязчиво и тщательно анализируют, обдумывают, по сути, занимаются своего рода процессом генерации синтетических данных и дистиллируют это обратно в веса модели. Я всё равно считаю, что у людей точно есть некий процесс для дистилляции части этих знаний в веса. И я также думаю, что у людей есть какая-то очень сложная схема разреженного внимания. Первые признаки, которые мы, кажется, начинаем замечать. Недавно вышел DeepMind 32, и я видел, что там есть примеры с разреженным вниманием, и это один из способов получить очень длинные контекстные окна. Так что у меня почти такое ощущение, что мы повторяем многие когнитивные приёмы, которые эволюция выработала совершенно другим путём. И в итоге, думаю, мы приходим к похожей архитектуре. С точки зрения когнитивных процессов это интересно.

Я считаю, что есть два типа знаний: поверхностное, высокоуровневое знание. Но когда ты действительно создаёшь что-то с нуля, ты неизбежно сталкиваешься с тем, чего на самом деле не понимаешь. И даже не знал, что не понимаешь. И это всегда приводит к более глубокому пониманию. Есть принцип: "Если я не могу это построить, значит, я этого не понимаю". Это вроде от Фейнмана. Я на 100% в это верю, потому что есть куча мелких деталей, которые не укладываются в голове. Вам кажется, что вы понимаете, но на самом деле нет. Поэтому не пишите блокпосты, не делайте презентации, ничего такого. Пишите код, структурируйте его, добейтесь, чтобы он работал. Это единственный способ, иначе у вас будут пробелы в знаниях.

Так вот, агенты на самом деле довольно хороши. Например, если вы работаете с шаблонным кодом, с такими copy-paste вещами, в этом они очень сильны. Они действительно хорошо справляются с теми задачами, которые довольно часто встречаются в интернете, потому что в обучающих данных этих моделей полным-полно именно таких примеров. То есть существуют определённые типы задач, где модели работают просто отлично. Но NanoChat - это совсем не тот случай, потому что это достаточно уникальный репозиторий. Я думаю, что кода с такой специфической структурой, как у меня, на самом деле, не так уж и много. И это определённо не какой-то шаблонный код. Это скорее интеллектуально насыщенный код. И в нём всё должно быть очень точно организовано. А модели постоянно пытались, у них же столько когнитивных ограничений, понимаете? Например, они постоянно неправильно понимали код, потому что у них в памяти слишком много типовых подходов из интернета, которые я просто не использовал. Модели, например, не знаю, может, не стоит вдаваться в детали, но они постоянно думали, что я пишу стандартный код, хотя это было не так.

Вы правильно уловили причину, почему мои прогнозы по срокам более консервативны. Модели плохо справляются с написанием кода, которого раньше не существовало, а это именно то, что нужно для создания новых моделей. Модели, в общих чертах понимают концепцию, но не знают, как полностью интегрировать её в конкретный репозиторий, в ваш стиль кода, в нужное место, учитывая все ваши нестандартные решения и допущения проекта. Так что у них определённо есть какие-то знания, но они ещё не достигли того уровня, когда могут действительно интегрировать эти знания и полностью их осмыслить. Впрочем, надо отметить, что многое постоянно улучшается. На данный момент я считаю, самая продвинутая модель, которой я обращаюсь - это GPT 5 Pro. Но в целом, я считаю, что модели ещё не достигли нужного уровня, а индустрия делает слишком большой скачок, пытаясь выдать желаемое за действительное. Это не потрясающий прорыв, это скорее посредственность. Мне кажется, они не хотят признавать реальность, возможно, из-за привлечения инвестиций. Не знаю точно, но мы на промежуточном этапе. Модели впечатляющие, но требуют серьёзной доработки.

В ней действительно трудно провести чёткую границу, где начинается и заканчивается ИИ. Потому что я воспринимаю ИИ как естественное продолжение развития вычислительной техники. И я вижу в этом своего рода непрерывный процесс рекурсивного самосовершенствования или ускорение работы программистов, который идёт с самого начала. Сюда относятся даже редакторы кода, подсветка синтаксиса или проверка типов данных, даже поисковые системы. Ранжирование - это ведь своего рода ИИ. И в какой-то момент Google даже на ранних этапах позиционировал себя как ИИ-компания, создавая поисковик, что, по-моему, вполне справедливо. И происходит то, что человек постепенно пополняет всё меньше и меньше низкоуровневой работы. Например, мы не пишем ассемблерный код вручную, потому что у нас есть компиляторы, верно? Компиляторы берут мой высокоуровневый язык программирования, например, C, и автоматически генерируют ассемблерный код. Таким образом, мы очень и очень медленно поднимаемся по уровню абстракции шаг за шагом. И существует то, что я называю ползунком автономии. Всё больше и больше различных задач автоматизируется из того набора задач, что, в принципе, можно автоматизировать в данный конкретный момент времени.

Обучение с подкреплением намного хуже, чем представляет себя обычный человек. Это действительно ужасная вещь. Просто так получилось, что всё, что у нас было до этого, было ещё намного хуже, потому что раньше мы просто имитировали действия людей. У этого подхода действительно множество проблем. Давайте возьмём обучение с подкреплением на очень простом примере. Решение математической задачи. Вам дана задача, и вы пытаетесь найти решение. В рамках обучения с подкреплением вы сначала пробуете огромное множество разных вариантов параллельно. Получив задачу, вы предпринимаете буквально сотни различных попыток её решить. И эти попытки могут быть довольно сложными и разветвлёнными. Верно? Они выглядят примерно так: попробуй это, теперь попробуй то, это не сработало, то не сработало и так далее. Потом вы, возможно, получаете ответ, проверяете его по правильному ответу и видите: "О'кей, правильный ответ вот такой". И замечаете: "Так, этот вариант, этот и тот дали верный ответ. Остальные 97 нет". И вот что делает обучение с подкреплением. Оно берёт те варианты, которые сработали хорошо, и повышает вес каждого вашего действия на этом пути, каждого токена с посылом: "Делай так чаще". Проблема в том, что это просто шум. Как говорят специалисты, у оценке высокой дисперсия. Но по сути это просто шум. По сути система предполагает, что каждый мельчайший шаг в решении, которое привело к правильному ответу, был верным. Но это не так. Вы вполне могли идти по неправильному пути. Пока вы не нашли верное решение, каждое неверное действие по пути к нему получит повышенный вес. "Делай так чаще". Это ужасно. Это просто шум. И на основе этого единственного сигнала вы корректируете вес всей траектории целиком, повышая или понижая его. Мне нравится описывать это так: вы высасываете обучающий сигнал через соломинку. Модель работает целую минуту, генерирует решение, а в конце вы получаете всего одно число: правильно или неправильно. И на основе этого единственного сигнала вы пытаетесь корректировать всю траекторию целиком, повышая или понижая её вес. Это же абсурд.

Человек так никогда не учится. Во-первых, никто не делает сотни попыток подряд. Во-вторых, когда человек находит решение, он анализирует процесс. Вот здесь я действовал правильно, а здесь ошибся. Надо было сделать по-другому. Он осмысливает свои действия. В современных LLM такого механизма вообще нет. Обучение с подкреплением (RL) позволяет достигать результатов лучше, чем простое обучение на примерах имитации, потому что у вас есть функции вознаграждения, и можно оптимизировать их напрямую методом градиентного подъёма. У некоторых задач существуют чёткие, правильные ответы, и можно улучшать модель, не имея экспертных траекторий для имитации. Это действительно здорово. Более того, модель может открывать решение, до которого человек вообще никогда бы не додумался. Это действительно невероятный прогресс, но всё равно система остаётся несовершенной. Нужно что-то большее.

Буквально вчера я видел статью от Google, где пытаются реализовать механизм рефлексии и анализа процесса решения. Что-то связанное с банком памяти. Точно не помню название. Я видел уже несколько работ в этом направлении, так что я ожидаю, что довольно скоро произойдёт серьёзное обновление алгоритмов, которые мы используем для обучения LLM. Обучение на основе процесса - это когда мы даём обратную связь не только в самом конце, а после, скажем, 10 минут работы. Вместо того, чтобы просто сказать "хорошо" или "плохо" по итогу, мы оцениваем каждый отдельный шаг. И вот почему у нас пока это не работает, как надо. Проблема в том, как это делать правильно. Ведь у вас есть частичное решение, и непонятно, как их оценивать. Когда есть финальный правильный ответ - это просто проверка на совпадение. Очень легко. А вот как автоматически оценивать промежуточные шаги, это не очевидно. Многие лаборатории пытаются решить это с помощью так называемых LLM-судей. То есть вы берёте LLM и просите его это сделать. Даёте промпт, типа: "Посмотри на частичное решение ученика", и пытаетесь подобрать правильный промпт. Но я считаю, что это довольно сложно, и причина тонкая. Дело в том, что когда вы используете LLM для вознаграждения, эти модели огромны, миллиарды параметров, и их можно обмануть. Так долго работать не получится. Может быть, 10 или 20 шагов это выдержит, но не сотню или тысячу. Причина не очевидна, но суть в том, что обучаемая модель найдёт лазейки. Она найдёт всякие ложные закономерности в закоулках огромной модели-судьи и научится её обманывать.

Вот пример, который я хорошо помню. Кажется, это было публично. Мы использовали LLM-судью для вознаграждения. Просто даём ему решение ученика и спрашиваем, хорошо ли тот справился. Мы обучали модель с подкреплением на основе этого вознаграждения, и всё шло отлично. А потом вдруг вознаграждение резко взлетело вверх. Просто огромный скачок. И модель стала показывать идеальные результаты. Смотришь на это и думаешь: "Вау! Значит, ученик идеально решает все задачи. Математика полностью решена". Но на самом деле, когда начинаешь внимательно смотреть на ответ, там видишь полную абсолютную бессмыслицу. Всё начинается вполне нормально и адекватно, а потом вдруг превращается в какое-то "Да-да-да, да-да". Получается примерно так: "Берём 2 + 3, делаем то-то и то-то", а потом... И ты смотришь на это всё и думаешь про себя: "Ну это же просто безумие какое-то. Как же она вообще умудряется получать максимальное вознаграждение?" Смотришь на LLM-судью, оказывается, что это состязательный пример для него, и он присваивает ему стопроцентную вероятность. А всё потому, что для LLM это данные, которых не было в обучающей выборке. Он никогда такого не видел при обучении. И вы находитесь в зоне чистой генерализации. А в этой зоне можно найти примеры, которые ломают модель. То есть вы по сути обучаете LLM становиться моделью для промнъекций. Даже не так. Промнъекция - это слишком сложное понятие для этого случая. Вы находите то, что называется состязательными примерами. Это бессмысленные решения, которые, очевидно, неправильные, но модель-судья считает их превосходными. Очевидное решение: взять эту бессмыслицу, которая получает 100%, добавить в обучающие наборы LLM-судьи и пометить как 0%. Это можно сделать, но каждый раз получаешь новые LLM, и у неё всё равно есть состязательные примеры. Их бесконечное количество. И, вероятно, если повторить это несколько раз, находить состязательные примеры станет сложнее. Но я не уверен на 100%, потому что в модели триллион параметров или около того. Так что, думаю, лаборатории пытаются, но я всё равно считаю, что нам нужны другие идеи.

Есть идея анализировать решения и создавать на их основе синтетические примеры. Обучаясь на них, модель становится лучше и в каком-то смысле мета-обучается. Я вижу, что статьи на эту тему начинают появляться. Правда, пока читаю только аннотации, потому что многие из них - это просто идеи. Кто-то должен заставить это работать в масштабах передовой LLM-лаборатории в полном объёме и для общих случаев. Потому что когда появляются эти статьи, в них много шума. Это интересная идея, но я пока не видел никого, кто убедительно показал бы, что это реально работает.

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

Почему нельзя просто генерировать синтетические данные и обучаться на них? Потому что если я попрошу модель сгенерировать размышление о книге, результат выглядит отлично и кажется, что можно на этом обучиться. Но если продолжить, модель на самом деле станет гораздо хуже. А дело в том, что все образцы от модели незаметно схлопнуты. Именно незаметно. Это не очевидно при взгляде на отдельный пример. Они занимают крошечную область в возможном пространстве мыслей о содержании. LLM, когда генерируют текст, уже схлопнуты. У них схлопнувшееся распределение данных. Зайдите в ChatGPT и попросите рассказать анекдот. У него их всего три. Он не выдаёт всё многообразие возможных анекдотов. Они незаметно схлопнуты. Любой отдельный пример выглядит нормально, но их общее распределение ужасное и настолько ужасное, что если продолжать обучение на слишком большом объёме собственных данных, модель схлопывается.

Возможно, у этой проблемы вообще нет фундаментального решения. И я думаю, что люди со временем тоже схлопываются. Знаете, эти аналогии на удивление точные. Люди схлопываются в течение своей жизни. Именно поэтому дети совершенно другие. Они ещё не переобучились на своём опыте. Они могут сказать что-то, что вас действительно шокирует. Можно понять, откуда у них берутся такие мысли, но это просто не то, что говорят взрослые. Потому что дети ещё не схлопнулись, а мы уже схлопнулись. Мы постоянно возвращаемся к одним и тем же мыслям, говорим всё чаще и чаще одно и то же. Когда вы что-то генерируете в голове и фокусируетесь на этом, вы фактически обучаетесь на собственных примерах, на своих синтетических данных. Если делать это слишком долго, можно уйти в сторону и слишком сильно схлопнуться. Поэтому в жизни всегда нужно искать энтропию. Общение с другими людьми - отличный источник энтропии.

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

Раньше все были одержимы масштабированием, мол, давайте делать модели всё больше, по триллиону параметров. Но на практике размеры сначала выросли, а потом начали снижаться. Современные модели стали меньше, и даже в таком виде, на мой взгляд, они запоминают слишком много лишнего. Я когда-то предположил, что мы сможем создать очень хорошие когнитивные ядра всего на миллиарде параметров. Думаю, лет через 20 с такой моделью можно будет вести продуктивный разговор. Она будет думать и вести себя больше как человек. Но если спросить её о каких-то фактах, она может не знать ответа, и понадобится поискать информацию. При этом она будет понимать свои ограничения и действовать разумно.

Проблема в том, что обучающие данные - это просто интернет, а он действительно ужасен. И именно из-за этого у нас есть огромный потенциал для улучшений. Ведь когда мы с вами думаем об интернете, мы обычно представляем себе что-то вроде статей из Wall Street Journal, но на самом деле реальная картина совсем не такая. Когда вы смотрите на датасет для преобучения в передовой лаборатории и открываете случайный документ из интернета, это просто полный мусор. Э, я вообще не понимаю, как это хоть как-то работает. Там могут быть какие-то тикеры акций. Это огромная масса хлама и мусора со всех уголков интернета. Это совсем не похоже на статью из Wall Street Journal. Такое встречается крайне редко. И мне кажется, что именно потому, что интернет так ужасен, нам приходится создавать очень большие модели, чтобы всё сжать. Причём большая часть этого сжатия - это работа по запоминанию, а не когнитивная работа. Да, а ведь нам на самом деле нужна именно когнитивная составляющая, а память по сути не нужна. Я хочу сказать, что нам нужны интеллектуальные модели, которые помогут нам отфильтроваться и очистить даже сами датасеты для предобучения, чтобы выделить в них только когнитивные компоненты.

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

Nvidia постепенно улучшает само железо, тензорные ядра и так далее. Всё это продолжится. Все ядра станут лучше и будут использовать чип на максимум. Вероятно, улучшится и все алгоритмы оптимизации архитектуры и все компоненты моделирования, как всё устроено и какие алгоритмы мы используем для обучения. Так что я ожидаю просто повсеместного улучшения. Всего понемногу. Не будет одного прорыва, который даст +20% ко всему. Но вот что скажу, когда люди говорят об ИИ и об изначальном понимании AI, которое было у нас при создании...

OpenAI, AI определялся как система, способная выполнять любую экономически ценную задачу на уровне человека или лучше. Такое было определение, и меня оно тогда устраивало, и я, кажется, всегда его придерживался. Потом люди придумали множество других определений. Но мне по-прежнему нравится это.

Первая уступка, которую все делают, исключают всё физическое и говорят только о цифровой интеллектуальной работе. Мне кажется, это серьёзное допущение по сравнению с исходным определением, где речь шла о любой задаче, которую может выполнить человек, поднимать предметы и так далее. И на физических задачах, очевидно, не способен. Но какую долю экономики мы при этом теряем, говоря только об интеллектуальной работе? Я не знаю точных цифр. По моим прикидкам, это где-то процентов 10-20.

Та работа, которую человек может выполнять удалённо из дома. Я почти уверен, что мы не будем мгновенно заменять людей. Мы будем внедрять системы ИИ, которые возьмут на себя 80% объёма работы. Оставшиеся 20% они будут передавать людям, а люди станут курировать команды из пяти систем ИИ, выполняющих более рутинные задачи кол-центра. Поэтому я бы ожидал появления новых интерфейсов или новых компаний, которые предложат своего рода прослойку для управления этими пока ещё не идеальными системами.

Я убеждён, что программирование - идеальная первая цель для этих LLM и агентов. Всё потому, что программирование по своей сути всегда было построено вокруг текста. Компьютерные терминалы, редакторы, всё работает с текстом. LLM, обученные на всём интернете, как раз обожают текст. Поэтому LLM - это идеальные обработчики текста. Обучающих данных для работы с кодом существует огромное количество, так что это просто идеальное сочетание факторов. К тому же у нас уже давно существует вся необходимая инфраструктура для эффективной работы с кодом и текстом. Например, есть Visual Studio Code или любая другая ваша любимая среда разработки, которая показывает код в удобном виде, и агент может легко в неё интегрироваться и использовать все её возможности. Например, когда агент вносит изменения в код, у нас уже есть инструменты для просмотра diff. Они показывают все различия в кодовой базе. То есть вся инфраструктура для работы с кодом уже давно создана.

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

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

Я пытался найти влияние ИИ на ВВП. Сначала я думал, что ВВП должен резко вырасти, но потом посмотрел на другие революционные технологии: компьютеры, мобильные телефоны. Их влияние на ВВП не видно. ВВП остаётся той же экспонентой. Возьмём для примера ранний iPhone. У него не было ни App Store, ни многих функций, которые есть сейчас. И хотя мы воспринимаем 2008 год как какой-то сейсмический сдвиг в технологиях, на практике это не так. Всё настолько растянуто во времени и распространяется так медленно, что в итоге просто усредняется в ту же самую экспоненту роста. То же самое с компьютерами. В ВВП нет резкого скачка. Теперь у нас есть компьютер. Этого не произошло из-за медленного внедрения. С ИИ будет так же. Это просто ещё один виток автоматизации. Он позволяет создавать программы, которые мы не могли писать раньше. Но в основе своей ИИ - это всё ещё программа. Это новый вид компьютера и новый тип вычислительной системы. У него есть все эти проблемы. Он будет распространяться постепенно со временем.

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

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

Что конкретно занимает так много времени, это процесс, который я называю "маршем девяток". Понимаете, как каждая девятка после запятой требует совершенно одинакового объёма работы. Когда у вас есть демонстрационный образец, работающий в 90% случаев, это только самая первая девятка, а потом нужна вторая девятка, третья, четвёртая, пятая. За 5 лет работы в компании Tesla мы, наверное, прошли где-то две или, может быть, три такие девятки надёжности. Я не могу точно сказать, в чём дело, но для достижения каждой следующей девятки надёжности требуется множество итераций. И таких итераций впереди ещё очень много. Именно поэтому весь процесс занимает столько времени. Этот опыт сильно на меня повлиял. Я своими глазами видел огромную разницу между демонстрацией и реальным продуктом. Теперь меня совершенно не впечатляют никакие демо-версии. Когда я вижу любую демонстрацию, я отношусь к ней с большим скепсисом. Реальный продукт столкнётся с множеством проблем при контакте с реальностью, с кучей частных случаев, которые нужно исправлять.

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

Звучу пессимистично лишь потому, что когда смотрю свой Twitter, вижу кучу вещей, не имеющих для меня смысла, и понимаю множество причин, почему так происходит. Думаю, что, честно говоря, это просто привлечение инвестиций. Такая структура стимулов. Во многом это просто привлечение внимания и конвертация его в деньги в интернете. Всё такое.

Очень часто, когда люди думают об образовании, они представляют себе более мягкую составляющую, то есть распространение и передачу знаний. Но у меня в голове нечто очень конкретное и техническое. В моём понимании образование - это сложный технический процесс построения чётких путей к знаниям, своего рода мостиков. Поэтому в моём понимании на Python это именно такой путь к знаниям, потому что это очень простой проект, скажем так. Это максимально упрощённая, полная реализация от начала до конца. Если дать этот код человеку и он его изучит, он усвоит огромное количество информации. Проект даёт то, что я называю "озарениями в секунду", то есть приростом понимания в секунду. Вот чего я добиваюсь: максимума озарений в секунду.

Мне кажется, у меня есть, наверное, 10-20 приёмов, которые я, вероятно, использую полуосознанно. Но если говорить в общих чертах, думаю, многое идёт из моего физического образования. Мне очень-очень нравилось изучать физику. Я могу долго рассуждать о том, почему, на мой взгляд, каждый должен изучать физику в школе. Потому что я считаю, что раннее школьное образование - это не про накопление знаний или запоминания для будущей работы, а про запуск мозга. Я думаю, что физика уникальным образом запускает мозг. Лучше всего потому, что те вещи, которые она заставляет вас делать мысленно, оказываются чрезвычайно ценными в дальнейшем. Это идея построения моделей и абстракций, понимание того, что существует приближение первого порядка, который описывает большую часть системы, но затем есть члены второго, третьего порядка, которые могут присутствовать или нет. Идея о том, что вы наблюдаете очень зашумлённую систему, но на самом деле в ней есть фундаментальные закономерности, от которых можно абстрагироваться. Например, когда физик заходит в аудиторию и говорит: "Предположим, у нас есть сферическая корова". Все смеются, но на самом деле это гениально. Это гениальный способ мышления, который очень хорошо переносится на любую область. Потому что, да, корову действительно можно аппроксимировать сферой во многих случаях. Когда я смотрю на какую-то систему, в голове у меня целая паутина идей и знаний, и я пытаюсь понять, что действительно важно, каков главный компонент, как упростить, как найти простейшую модель, которая покажет суть, потом уже добавлять детали.

Один подход, который мне всегда очень хорошо помогал. Я даже делился этим в Твиттере. Изучать материал по мере необходимости, когда у вас есть конкретная задача, и углубляться именно в эту тему - это невероятно эффективно. Я считаю, что важно чередовать такое целенаправленное, глубокое изучение, когда вы работаете над проектом и получаете от этого результат. С более широким изучением. Это когда просто знакомишься с разными темами заранее. В школе много такого обучения вширь. Поверьте, это понадобится позже. И ты думаешь: "Ладно, поверю, выучу, раз говорите, что понадобится". Но мне больше нравится обучение, когда ты получаешь реальный результат от работы над задачей и учишься по ходу дела.

Индивидуальные занятия один на один с репетитором. И знаете, что меня больше всего поразило? Мне кажется, у меня был действительно отличный репетитор. Когда я анализировал, что именно она для меня делала, я осознал, насколько невероятным был этот опыт, и насколько высока планка для того, что я в конечном итоге хочу построить. Она была просто потрясающей. Буквально после очень короткого разговора она мгновенно поняла, на каком я уровне как студент, что я знаю, а чего не знаю. Она смогла точно подобрать вопросы и темы, чтобы понять моё понимание материала. Ни одна LLM сейчас не сделает этого на 100%. Даже близко нет, правда? А хороший репетитор сможет. Поняв мой уровень, она давала именно тот материал, который соответствовал моим возможностям. Задачи должны быть всегда в меру сложными. Я не должен сталкиваться ни со слишком сложным, ни со слишком простым материалом. Репетитор отлично умеет подавать именно то, что нужно. В итоге я почувствовал, что единственное ограничение для обучения - это я сам. Мне давали идеальную информацию, и только я был преградой. Это прекрасное чувство. Единственное препятствие - это ты сам. Проблема не в том, что информацию невозможно найти или что она плохо объяснена и тому подобное.

Недавно кто-то показал мне статью по биологии, и у меня моментально возникла масса очень простых вопросов. Тогда я загрузил эту статью в контекстное окно чата, все эти вопросы, чтобы разобраться с базовыми моментами. А потом я поделился этой перепиской с человеком, который показал мне эту работу и который, собственно, был её автором. И мне кажется, что если бы авторы увидели мои простые базовые вопросы, это реально помогло бы им лучше объяснять свой материал в будущем. Поэтому, например, я был бы очень рад, если бы люди делились своими переписками с ChatGPT по материалам, которые я создаю, потому что это действительно помогает мне снова поставить себя на место человека, который только начинает разбираться в теме.

[музыка]

[музыка]