Owning the AI Pareto Frontier — Jeff Dean
Джефф Дин, главный AI-учёный Google и одна из движущих сил Gemini, рассказывает Latent Space о том, что значит «владеть фронтом Парето» — иметь одновременно фронтирные модели Pro и низколатентные Flash. Ключевой техникой он называет дистилляцию, родившуюся ещё в 2014 году из идеи сжать ансамбль из ~50 моделей-специалистов, обученных на 300 млн изображений: благодаря логитам большой модели Flash-версия каждого нового поколения становится не хуже, а то и сильнее предыдущего Pro. Дин подчёркивает, что подлинным узким местом становится энергия (пикоджоули на бит), а не FLOPs: перемещение данных стоит примерно в 1000 раз дороже умножения, и именно поэтому нужен батчинг и спекулятивное декодирование. Он вспоминает эволюцию поиска Google — шардирование, перенос всего индекса в память в 2001 году, «смягчение» запроса задолго до LLM — и проводит параллель с тем, как LLM будут создавать иллюзию внимания к триллионам токенов, сужая их до ~117 релевантных документов. Дин также рассуждает о ко-дизайне TPU на 2–6 лет вперёд, об отказе от символьных систем в пользу единых мультимодальных моделей (история объединения команд Google в Gemini, название которому он сам и придумал), о персонализированном ассистенте и о том, почему чёткая спецификация становится ключевым навыком при работе с кодовыми агентами.
Владея фронтом Парето в AI — Джефф Дин
От переписывания поискового стека Google в начале 2000-х до возрождения разреженных моделей с триллионами параметров и совместного проектирования TPU вместе с фронтирными ML-исследованиями — Джефф Дин незаметно сформировал почти каждый слой современного AI-стека. Как главный AI-учёный Google и одна из движущих сил Gemini, Джефф пережил несколько революций масштабирования — от CPU и шардированных индексов до мультимодальных моделей, которые рассуждают сразу о тексте, видео и коде.
Джефф присоединяется к нам, чтобы разобрать, что на самом деле значит «владеть фронтом Парето», почему дистилляция — это движок каждого прорыва в моделях Flash, как именно энергия (в пикоджоулях), а не FLOPs становится настоящим узким местом, каково это — возглавить объединение всех AI-команд Google, и почему следующий скачок придёт не от одних лишь более крупных контекстных окон, а от систем, создающих иллюзию внимания к триллионам токенов.
Мы обсуждаем:
Ранняя дипломная работа Джеффа по нейросетям 1990 года: параллельное обучение ещё до того, как это стало модным, почему он за десятилетия вперёд верил, что масштабирование победит, и мантра «больше модель, больше данных, лучше результат», которая держалась 15 летЭволюция поиска Google: шардирование, перенос всего индекса в память в 2001 году, смягчение семантики запроса ещё до LLM и почему пайплайны поиска уже напоминают современные LLM-системыСтратегия фронта Парето: почему нужны и фронтирные модели «Pro», и низколатентные «Flash», и как дистилляция позволяет меньшим моделям превосходить предыдущие поколенияJeff Dean@JeffDeanМы снова раздвинули фронт Парето эффективности против интеллекта. С Gemini 3 Flash ⚡️ мы видим способности к рассуждению, прежде доступные лишь нашим крупнейшим моделям, теперь работающие на латентности уровня Flash. Это открывает совершенно новые категории почти реального времени 16:06 · 17 дек. 2025 · 157K просмотров52 ответа · 196 репостов · 1,78K лайковГлубокое погружение в дистилляцию: ансамбли → сжатие → логиты как мягкое обучающее сопровождение, и почему нужна самая большая модель, чтобы сделать самую маленькую хорошейЛатентность как первоклассная цель: почему латентность в 10–50 раз ниже полностью меняет UX, и как будущие нагрузки на рассуждение потребуют 10 000 токенов/секМышление в категориях энергии: пикоджоули на бит, почему перемещение данных стоит в 1000 раз дороже умножения, батчинг сквозь призму энергии и спекулятивное декодирование как амортизацияКо-дизайн TPU: прогноз ML-нагрузок на 2–6 лет вперёд, спекулятивные аппаратные функции, снижение точности, разреженность и постоянная обратная связь между архитектурой модели и кремниемРазреженные модели и «возмутительно большие» сети: триллионы параметров при 1–5% активации, и почему разреженность всегда была правильной абстракциейЕдиные против специализированных моделей: отказ от символьных систем, почему общие мультимодальные модели обычно доминируют над вертикальными «силосами», и когда вертикальный файн-тюнинг всё же имеет смыслДлинный контекст и иллюзия масштаба: за пределами бенчмарков «иголка в стоге сена» — к системам, сужающим триллионы токенов до 117 релевантных документовПерсонализированный AI: внимание к вашим письмам, фото и документам (с разрешения), и почему поиск + рассуждение откроют глубоко личных ассистентовКодовые агенты: 50 AI-стажёров, чёткие спецификации как новый ключевой навык, и как сверхнизкая латентность изменит сотрудничество человека и агентаПочему идеи всё ещё важны: трансформеры, разреженность, RL, железо, системы — масштабирование не было слепым; части должны были перемножиться вместе
Заметки к выпуску:
Статья о Gemma 3Gemma 3Отчёт о Gemini 2.5Презентация Джеффа Дина «Software Engineering Advice fromBuilding Large-Scale Distributed Systems» (с прикидками «на обороте конверта»)Latency Numbers Every Programmer Should Know от Джеффа ДинаThe Jeff Dean FactsБиография Джеффа Дина на GoogleДжефф Дин о «Важных трендах в AI» @Stanford AI ClubДжефф Дин и Ноам Шазир — 25 лет в Google (Dwarkesh)
Джефф Дин
Полный видеовыпуск
Тайм-коды
00:00:04 — Вступление: Алессио и Swyx приветствуют Джеффа Дина, главного AI-учёного Google, в подкасте Latent Space00:00:30 — Владение фронтом Парето и баланс между фронтирными и низколатентными моделями00:01:31 — Фронтирные модели против Flash + роль дистилляции00:03:52 — История дистилляции и её первоначальная мотивация00:05:09 — Роль дистилляции в современном масштабировании моделей00:07:02 — Иерархия моделей (Flash, Pro, Ultra) и источники дистилляции00:07:46 — Экономика модели Flash и широкое развёртывание00:08:10 — Важность латентности для сложных задач00:09:19 — Насыщение некоторых задач и будущие фронтирные задачи00:11:26 — О бенчмарках, публичных против внутренних00:12:53 — Пример бенчмарков длинного контекста и их ограничения00:15:01 — Цели длинного контекста: внимание к триллионам токенов00:16:26 — Реалистичные сценарии за пределами чистого языка00:18:04 — Мультимодальное рассуждение и нетекстовые модальности00:19:05 — Важность модальностей зрения и движения00:20:11 — Пример понимания видео (извлечение структурированной информации)00:20:47 — Аналогия ранжирования в поиске для извлечения в LLM00:23:08 — Представления LLM против поиска по ключевым словам00:24:06 — Ранняя эволюция поиска Google и индекс в памяти00:26:47 — Принципы проектирования масштабируемых систем00:28:55 — Обновления индекса в реальном времени и стратегии переобхода00:30:06 — Классические «Latency numbers every programmer should know»00:32:09 — Стоимость памяти против вычислений и акцент на энергии00:34:33 — TPU и аппаратные компромиссы при обслуживании моделей00:35:57 — Решения по дизайну TPU и ко-дизайн с ML00:38:06 — Адаптация архитектуры модели под железо00:39:50 — Альтернативы: энергетические модели, спекулятивное декодирование00:42:21 — Открытые направления исследований: сложные рабочие процессы, RL00:44:56 — Непроверяемые домены RL и оценка моделей00:46:13 — Переход от символьных систем к единым LLM00:47:59 — Единые модели против специализированных00:50:38 — Знание против рассуждения и поиск + рассуждение00:52:24 — Вертикальная специализация моделей и модули00:55:21 — Соображения о количестве токенов для вертикальных доменов00:56:09 — Языки с малыми ресурсами и обучение в контексте00:59:22 — Истоки: ранние работы Дина по нейросетям01:10:07 — AI для написания кода и стили взаимодействия человека и модели01:15:52 — Важность чёткой спецификации для кодовых агентов01:19:23 — Прогноз: персонализированные модели и извлечение состояния01:22:36 — Целевые показатели токенов в секунду (10k+) и пропускная способность рассуждения01:23:20 — Заключение выпуска и благодарности
Транскрипт
Alessio Fanelli [00:00:04]: Всем привет, добро пожаловать в подкаст Latent Space. Это Алессио, основатель Kernel Labs, и со мной Swyx, редактор Latent Space.
Shawn Wang [00:00:11]: Привет-привет. Мы здесь в студии с Джеффом Дином, главным AI-учёным Google. Добро пожаловать. Спасибо, что пригласили. Немного сюрреалистично видеть тебя в студии. Я посмотрел столько твоих выступлений, и, очевидно, твоя карьера просто легендарна. Так что, в общем, поздравляю. Думаю, первым делом надо сказать: поздравляю с владением фронтом Парето.
Jeff Dean [00:00:30]: Спасибо, спасибо. Фронты Парето — это хорошо. Приятно там находиться.
Shawn Wang [00:00:34]: Да, я думаю, это сочетание двух вещей. Нужно владеть фронтом Парето. Нужно иметь фронтирные возможности, но также и эффективность, а потом предлагать тот диапазон моделей, которыми людям нравится пользоваться. И, знаешь, отчасти это началось благодаря твоей работе над железом. Отчасти — благодаря работе над моделями, и я уверен, есть масса секретного соуса, над которым вы все вместе работали. Но реально впечатляет видеть, как всё это сходится воедино, так продуманно и продвинуто.
Jeff Dean [00:01:04]: Да, да. Думаю, как ты и говоришь, это не одна-единственная вещь. Это куча вещей сверху донизу по всему стеку. И все они действительно сочетаются, чтобы помочь нам создавать очень способные большие модели, а также — софтверные техники, чтобы перенести возможности больших моделей в гораздо меньшие, более лёгкие модели, которые гораздо более экономичны и имеют меньшую латентность, но при этом весьма способны для своего размера. Да.
Alessio Fanelli [00:01:31]: Насколько на тебя давит необходимость держать и нижнюю границу фронта Парето тоже? Думаю, новые лаборатории всё время пытаются толкать верхний предел производительности, потому что им нужно привлекать больше денег и всё такое. А у вас миллиарды пользователей. И, кажется, изначально, когда ты работал над CPU, ты думал о том, что если каждый, кто пользуется Google, будет использовать голосовую модель, скажем, по три минуты в день, то вам пришлось бы удвоить число CPU. Какова сегодня эта дискуссия в Google? Как вы расставляете приоритеты между фронтиром и тем, что мы обязаны сделать? Как нам это вообще развернуть, если мы это построим?
Jeff Dean [00:02:03]: Да, думаю, мы всегда хотим иметь модели на фронтире или толкающие фронтир, потому что именно там видишь, какие возможности теперь существуют, которых не было в чуть менее способной прошлогодней версии или версии полугодовой давности. В то же время мы знаем, что они будут очень полезны для кучи сценариев, но они будут чуть медленнее и чуть дороже, чем людям хотелось бы для кучи других, более массовых задач. Поэтому, думаю, мы хотим всегда иметь некую очень способную и при этом доступную модель, которая открывает массу сценариев с меньшей латентностью. Люди могут гораздо охотнее использовать их для агентного программирования, и при этом иметь топовую фронтирную модель, которая очень полезна для глубокого рассуждения, решения по-настоящему сложных математических задач и тому подобного. И дело не в том, что полезно что-то одно. Полезны оба. Так что, думаю, мы хотели бы делать и то, и другое. И ещё, через дистилляцию — а это ключевая техника, чтобы делать меньшие модели более способными — нужно иметь фронтирную модель, чтобы потом дистиллировать её в меньшую. Так что это не выбор «или/или». Тебе как бы нужна она, чтобы реально получить очень способную модель более скромного размера. Да.
Alessio Fanelli [00:03:24]: Ну, вы с Джеффри придумали это решение в 2014 году.
Jeff Dean [00:03:28]: Не забудь и про Ориола Виньялса. Да, да.
Alessio Fanelli [00:03:30]: Давным-давно. Но мне любопытно, как ты думаешь о цикле этих идей, даже, например, о разреженных моделях, — как ты их переоцениваешь? Как ты думаешь о том, что в следующем поколении модели стоит пересмотреть? То есть, знаешь, ты работал над столькими идеями, которые в итоге оказались влиятельными, но в моменте они могли так не ощущаться. Да.
Jeff Dean [00:03:52]: Думаю, дистилляция изначально была мотивирована тем, что у нас тогда был очень большой набор изображений — знаешь, 300 миллионов картинок, на которых можно было обучаться. И мы видели, что если создать специалистов для разных подмножеств этих категорий изображений — вот этот будет очень хорош, скажем, по млекопитающим, а этот — по сценам внутри помещений или что-то такое, и можно кластеризовать эти категории и обучать на обогащённом потоке данных после предобучения на гораздо более широком наборе изображений — то получаешь гораздо лучшую производительность. Если затем рассматривать весь этот набор, скажем, из 50 обученных моделей как большой ансамбль, — но это не очень-то практично обслуживать, верно? Так что дистилляция реально появилась из идеи: окей, а что если мы хотим действительно это обслуживать и обучить все эти независимые экспертные модели, а потом сжать их в нечто, что реально влезает в форм-фактор, который можно обслуживать? И это, знаешь, не так уж сильно отличается от того, что мы делаем сегодня. Часто сегодня вместо ансамбля из 50 моделей у нас гораздо более крупномасштабная модель, которую мы затем дистиллируем в гораздо меньшую.
Shawn Wang [00:05:09]: Да. Часть меня также задаётся вопросом, нет ли у дистилляции связи с RL-революцией. Дай попробую сформулировать, что я имею в виду: с помощью RL ты, по сути, «затачиваешь» модель на определённой части распределения. И потом приходится... ну, можно затачивать модели, но обычно иногда... это может быть лоссово в других областях, и это как бы неравномерная техника, но потом её, наверное, можно дистиллировать обратно. И я думаю, общая мечта — суметь продвигать возможности без регрессии во всём остальном. И вот это слияние возможностей без потерь — мне кажется, что часть этого должна быть процессом дистилляции, но я не могу до конца это сформулировать. Я не видел много статей об этом.
Jeff Dean [00:06:01]: Да, думаю, одно из ключевых преимуществ дистилляции в том, что у тебя может быть гораздо меньшая модель и очень большой обучающий набор данных, и ты получаешь пользу от множества проходов по этому набору, потому что теперь ты получаешь логиты от гораздо большей модели, чтобы как бы выманить правильное поведение из меньшей, которое иначе не получил бы с одними лишь жёсткими метками. И вот это мы и наблюдали. Можно подобраться очень близко к производительности своей крупнейшей модели с помощью подходов на основе дистилляции. И это, похоже, приятная золотая середина для многих, потому что это позволяет нам уже несколько поколений Gemini делать Flash-версию следующего поколения такой же хорошей или даже значительно лучше, чем Pro предыдущего поколения. И, думаю, мы будем продолжать пытаться это делать, потому что это похоже на хороший тренд, которому стоит следовать.
Shawn Wang [00:07:02]: Так, Дара спросил: изначально карта была Flash, Pro и Ultra. Вы просто сидите на Ultra и дистиллируете из неё? Это как материнская жила?
Jeff Dean [00:07:12]: У нас много разных видов моделей. Некоторые — внутренние, которые не обязательно предназначены для выпуска или обслуживания. Некоторые — наша модель масштаба Pro, и из неё мы тоже можем дистиллировать в нашу модель масштаба Flash. Так что, думаю, это важный набор возможностей, и ещё — масштабирование во время инференса. Это тоже может быть полезной штукой для улучшения возможностей модели.
Shawn Wang [00:07:35]: И да, да, круто. Да. И, очевидно, думаю, именно экономика Flash привела к тотальному доминированию. Кажется, последняя цифра — что-то вроде 50 триллионов токенов. Не знаю. То есть, очевидно, это меняется каждый день.
Jeff Dean [00:07:46]: Да, да. Но, знаешь, по доле рынка — надеюсь, вверх.
Shawn Wang [00:07:50]: Нет, я имею в виду, с экономической точки зрения — поскольку Flash настолько экономична, её можно использовать для всего. Она теперь в Gmail. Она в YouTube. Да. Она везде.
Jeff Dean [00:08:02]: Мы используем её всё больше в наших поисковых продуктах, в разных AI-обзорах режима AI mode.
Shawn Wang [00:08:05]: О боже. Flash прошла в AI mode. О боже. Да, я об этом даже не подумал.
Jeff Dean [00:08:10]: Думаю, одна из приятных вещей в модели Flash в том, что она не только доступнее, но ещё и с меньшей латентностью. И, думаю, латентность — на самом деле довольно важная характеристика этих моделей, потому что мы захотим, чтобы модели делали гораздо более сложные вещи, которые будут включать генерацию гораздо большего числа токенов с момента, когда ты просишь модель что-то сделать. Так что, знаешь, если ты собираешься просить модель делать что-то, пока она реально не закончит то, что ты попросил, — потому что теперь ты будешь просить не просто «напиши мне цикл for», а «напиши мне целый программный пакет, чтобы сделать X, Y или Z». И поэтому иметь системы с низкой латентностью, которые могут это делать, кажется очень важным. И Flash — одно из направлений, один из способов это делать. И, очевидно, наши аппаратные платформы открывают кучу интересных аспектов нашего стека обслуживания, например TPU; интерконнект между чипами на TPU на самом деле очень производительный и очень подходит, например, для операций внимания на длинном контексте, для разреженных моделей с множеством экспертов. Все эти вещи реально очень сильно влияют на то, как сделать их обслуживаемыми в масштабе.
Alessio Fanelli [00:09:19]: Да. Не кажется ли тебе, что есть некая точка перелома для дистилляции Pro→Flash, как бы с отставанием на одно поколение? Я почти думаю о возможностях как о... В определённых задачах модель Pro сегодня насыщает какую-то задачу. И в следующем поколении та же задача будет насыщена на ценовой точке Flash. И, думаю, для большинства вещей, для которых люди используют модели, в какой-то момент модель Flash через два поколения сможет делать практически всё. И как сделать экономически выгодным продолжать толкать фронтир Pro, когда значительная часть населения будет довольна моделью Flash? Мне любопытно, как ты об этом думаешь.
Jeff Dean [00:09:59]: Думаю, это так — если распределение того, что люди просят модели делать, стационарно, верно? Но, думаю, часто происходит так, что по мере того, как модели становятся способнее, люди просят их делать больше, верно? Я имею в виду, это происходит в моём собственном использовании. Например, год назад я пробовал наши модели для какой-то задачи по коду, и она была неплоха в более простых вещах, но не очень хорошо справлялась с более сложными. А с тех пор мы кардинально улучшились в более сложных задачах кодирования. И теперь я прошу её делать гораздо более сложные вещи. И, думаю, это верно не только для кода, но и, знаешь, теперь — можешь ли ты проанализировать все развёртывания возобновляемой энергии в мире и дать мне отчёт по установке солнечных панелей или что-то такое. Это очень сложная задача, гораздо сложнее, чем люди просили бы год назад. И поэтому тебе будут нужны более способные модели, чтобы толкать фронтир, при том же наборе того, что люди просят у моделей. И это также даёт нам понимание того, окей, где же вещи ломаются? Как мы можем улучшить модель в этих конкретных областях, чтобы как бы сделать следующее поколение ещё лучше.
Alessio Fanelli [00:11:11]: Да. Есть ли какие-то бенчмарки или тестовые наборы, которые вы используете внутри? Потому что кажется, что каждый раз отчитываются по одним и тем же бенчмаркам. И это типа: ну ладно, 99 вместо 97. Как вам приходится продолжать подталкивать команду внутри? Или: вот к чему мы идём. Да.
Jeff Dean [00:11:26]: Думаю, бенчмарки, особенно внешние, публично доступные, имеют свою полезность, но у них часто как бы есть срок жизни полезности: их вводят, и, может быть, они довольно сложны для текущих моделей. Знаешь, мне нравится думать, что лучшие бенчмарки — те, где начальные оценки порядка 10, 20 или, может, 30%, но не выше. И потом можно работать над улучшением той способности, что бы бенчмарк ни пытался оценить, и довести её до, скажем, 80, 90%. Думаю, как только это достигает примерно 95% или около того, ты получаешь очень убывающую отдачу от реальной концентрации на этом бенчмарке, потому что либо ты уже достиг этой способности, либо есть проблема утечки в публичных данных или того, что очень связанные данные попали в твои обучающие данные. Поэтому у нас есть набор отложенных внутренних бенчмарков, на которые мы реально смотрим, где мы знаем, что это вообще не было представлено в обучающих данных. Это возможности, которые мы хотим, чтобы модель имела. Да. Которых у неё сейчас нет, и потом мы можем работать над оценкой того, как нам сделать модель лучше в таких вещах? Нужны ли нам данные другого рода для обучения, более специализированные под этот конкретный тип задач? Нужны ли нам архитектурные улучшения или какие-то улучшения возможностей модели — что помогло бы сделать это лучше?
Shawn Wang [00:12:53]: А есть ли такой пример, когда бенчмарк вдохновил архитектурное улучшение? Я просто цепляюсь за это, потому что ты только что...
Jeff Dean [00:13:02]: Думаю, некоторые из возможностей длинного контекста у моделей Gemini, которые появились, кажется, впервые в 1.5, как раз были про то, чтобы посмотреть: окей, мы хотим иметь, знаешь,
Shawn Wang [00:13:15]: и сразу все перешли к полностью зелёным графикам, у всех было... Я такой: как все взломали это одновременно? Верно. Да. Да.
Jeff Dean [00:13:23]: Думаю, и как только ты... я имею в виду, как ты и говоришь, нужен был тот самый бенчмарк с одной иголкой в стоге сена, и он реально насыщен по крайней мере для длин контекста до 128К или около того. На самом деле сейчас нет особо длиннее, чем 128К, или двух [миллионов] или что-то такое. Мы пытаемся толкать фронтир в 1 миллион или 2 миллиона контекста, что хорошо, потому что, думаю, есть много сценариев, где, знаешь, помещение тысячи страниц текста или нескольких многочасовых видео в контекст и реальное умение этим воспользоваться полезно. Но бенчмарк с одной иголкой в стоге сена как бы насыщен. Так что реально хочется чего-то более сложного — мульти-иголочного или более реалистичного: возьми весь этот контент и выдай вот такого рода ответ из длинного контекста, что лучше оценивает то, что люди реально хотят делать с длинным контекстом. А это не просто «можешь сказать мне артикул вот этой конкретной штуки?»
Shawn Wang [00:14:31]: Да, это поиск. Это поиск внутри машинного обучения. Это интересно, потому что мета-уровень, на котором я пытаюсь здесь оперировать, такой: у тебя есть бенчмарк. Ты такой: окей, я вижу архитектурную штуку, которую мне нужно сделать, чтобы это починить. Но стоит ли её делать? Потому что иногда это индуктивное смещение, по сути. Это то, что сказал бы Джейсон Вэй, который раньше работал в Google. Именно такого рода вещь. Да, краткосрочно ты выиграешь. Долгосрочно — не знаю, будет ли это масштабироваться. Возможно, придётся это откатить.
Jeff Dean [00:15:01]: Мне нравится фокусироваться не на том, какое именно решение мы выведем, а на том, какую способность ты хотел бы иметь. И, думаю, мы очень убеждены, что длинный контекст полезен, но сегодня он слишком короткий. Верно? Думаю, чего реально хотелось бы — это «могу ли я обращать внимание на весь интернет, пока отвечаю на вопрос?» Верно? Но этого не случится. Думаю, это будет решено не чистым масштабированием существующих решений, которые квадратичны. Так что миллион токенов как бы толкает предел возможного. Ты не сделаешь это на триллион токенов, не говоря уже о, знаешь, миллиарде. Но, думаю, если бы можно было создать иллюзию, что ты можешь обращать внимание на триллионы токенов, это было бы потрясающе. Нашлась бы куча применений. Ты бы обращал внимание на интернет. Ты мог бы обращать внимание на пиксели YouTube и на более глубокие представления, которые мы умеем находить. Ты мог бы обращать внимание не только на одно видео, но через множество видео, и, знаешь, на уровне персонального Gemini ты мог бы, с твоего разрешения, обращать внимание на всё твоё личное состояние. Например, твои письма, фото, документы, авиабилеты. Думаю, это было бы реально очень полезно. И вопрос в том, как получить алгоритмические улучшения и улучшения на уровне систем, которые приведут тебя к чему-то, где ты действительно можешь осмысленно обращать внимание на триллионы токенов. Да.
Shawn Wang [00:16:26]: Кстати, я тут немного посчитал, и получается, что если бы ты говорил весь день, каждый день по восемь часов в день, ты сгенерировал бы максимум что-то около ста тысяч токенов, что вполне комфортно влезает.
Jeff Dean [00:16:38]: Верно. Но если ты потом скажешь: окей, я хочу уметь понимать всё, что люди выкладывают в видео.
Shawn Wang [00:16:46]: Ну, ещё, думаю, классический пример — когда ты выходишь за пределы языка в, скажем, белки и всё прочее, что чрезвычайно информационно плотно. Да. Да.
Jeff Dean [00:16:55]: Думаю, одна из вещей про мультимодальные аспекты Gemini в том, что мы всегда хотели, чтобы он был мультимодальным с самого начала. И, знаешь, для людей это иногда означает текст, изображения, видео — как у человека, и аудио, человекоподобные модальности. Но, думаю, также реально полезно, чтобы Gemini знал про нечеловеческие модальности. Да. Например, данные с LIDAR-сенсоров с... да, скажем, машин Waymo, или роботов, или разные виды медицинских модальностей — рентгены, МРТ, визуализация, геномная информация. И, думаю, вероятно, есть сотни модальностей данных, где хотелось бы, чтобы модель хотя бы была ознакомлена с тем фактом, что это интересная модальность и имеет определённое значение в мире. Даже если ты не обучал её на всех данных LIDAR или МРТ, ты мог бы, потому что, может быть, это не имеет смысла с точки зрения компромиссов того, что включаешь в основной микс предобучающих данных, — но включить хотя бы немного этого на самом деле очень полезно. Да. Потому что это как бы намекает модели, что это вещь существует.
Shawn Wang [00:18:04]: Да. Веришь ли ты — раз уж мы на эту тему, и я могу задавать тебе все вопросы, которые всегда хотел задать, что прекрасно, — есть ли некие модальности-короли, модальности, которые превосходят все остальные? Простой пример: зрение может на уровне пикселей кодировать текст. И у DeepSeek была эта статья DeepSeek OCR, которая это сделала. Зрение. И зрение также, как показано, может, возможно, включать в себя аудио, потому что можно делать аудиоспектрограммы, и это тоже как бы вещь, доступная зрению. Так что, может быть, зрение — это просто модальность-король, и... Да.
Jeff Dean [00:18:36]: Думаю, зрение и движение — весьма важные вещи, верно? Движение. Ну, например, видео в отличие от статичных изображений, потому что есть причина, по которой эволюция развивала глаза, кажется, 23 независимыми способами, — потому что это настолько полезная способность для восприятия окружающего мира, чем мы реально и хотим, чтобы были эти модели. Так что, думаю, единственное, что мы способны делать, — это интерпретировать то, что видим, или то, на что обращаем внимание, и потом помогать нам использовать эту информацию, чтобы делать вещи. Да.
Shawn Wang [00:19:05]: Думаю, движение... знаешь, я всё же хочу отметить — по-моему, Gemini до сих пор единственная нативная модель понимания видео, что есть на рынке. Так что я использую её для YouTube всё время. Здорово.
Jeff Dean [00:19:15]: Да. Да. На самом деле, думаю, люди не всегда осознают, что модели Gemini реально умеют. Да. Например, у меня есть пример, который я использовал в одном из своих выступлений. Это было что-то вроде нарезки лучших моментов на YouTube — 18 запоминающихся спортивных моментов за последние 20 лет или около того. Там, например, Майкл Джордан забивает какой-то бросок в прыжке в конце финала, и какие-то голы в футболе и тому подобное. И ты можешь буквально просто дать ему это видео и сказать: можешь, пожалуйста, сделать мне таблицу того, что это всё за события? Когда они произошли, какова дата? И краткое описание. И вот ты получаешь таблицу из 18 строк с этой информацией, извлечённой из видео, что, знаешь, не то, что большинство людей представляют как «преврати видео в таблицу типа SQL».
Alessio Fanelli [00:20:11]: Была ли внутри Google какая-то дискуссия о том, что — ты упомянул внимание ко всему интернету, верно? Google, по сути, и построен потому, что человек не может обратить внимание на весь интернет, и нужно некое ранжирование, чтобы найти нужное. Ага. Это ранжирование сильно отличается для LLM, потому что от человека можно ожидать, что он посмотрит, может, первые пять-шесть ссылок в поиске Google, тогда как для LLM — следует ли ожидать 20 высокорелевантных ссылок? Как вы внутри определяете, как нам построить AI mode, который, может быть, имеет гораздо более широкий охват поиска, против более человеческого? Да.
Jeff Dean [00:20:47]: Думаю, даже в дозычковую эпоху наши системы ранжирования строились так, чтобы начинать... я имею в виду, даже в эпоху до языковых моделей наши системы ранжирования строились так, чтобы начинать с гигантского числа веб-страниц в нашем индексе, многие из которых нерелевантны. Так что ты выявляешь их релевантное подмножество с помощью очень лёгких методов. Знаешь, ты спускаешься до примерно 30 000 документов или около того. А потом ты постепенно уточняешь это, применяя всё более изощрённые алгоритмы и всё более изощрённые сигналы разного рода, чтобы спуститься в итоге до того, что показываешь, — это, знаешь, финальные 10 результатов или 10 результатов плюс другие виды информации. И, думаю, система на основе LLM будет не так уж непохожа, верно? Ты будешь обращать внимание на триллионы токенов, но захочешь выявить, скажем, те примерно 30 000 документов, в которых, может быть, 30 миллионов интересных токенов. А потом — как ты переходишь от этого к тем 117 документам, на которые мне действительно стоит обратить внимание, чтобы выполнить задачу, которую попросил пользователь? И, думаю, можно представить системы, где есть много высокопараллельной обработки, чтобы выявить эти начальные 30 000 кандидатов, может, с помощью очень лёгких моделей. Потом есть некая система, которая помогает сузить с 30 000 до 117 с, может, чуть более изощрённой моделью или набором моделей. А потом, может, финальная модель — это то, что смотрит на эти 117 вещей, и это может быть твоя самая способная модель. Так что, думаю, это будет некая система такого рода, которая реально позволяет создать иллюзию внимания к триллионам токенов. Примерно так же, как поиск Google даёт тебе — не иллюзию, но ты действительно ищешь по интернету, но находишь очень малое подмножество вещей, которые релевантны.
Shawn Wang [00:22:47]: Да. Я часто говорю многим людям, которые не погружены в историю поиска Google, что, ну, знаешь, BERT был... он практически сразу попал внутрь поиска Google, и это сильно улучшило результаты, верно? Цифр у меня в голове нет, но я уверен, что вы — это, очевидно, самые важные для Google цифры. Да.
Jeff Dean [00:23:08]: Думаю, переход к LLM-представлению текста, слов и так далее позволяет выйти из явного жёсткого понятия того, что конкретные слова должны быть на странице, и реально добраться до понятия «эта тема страницы» или «этот абзац этой страницы высоко релевантен этому запросу». Да.
Shawn Wang [00:23:28]: Думаю, люди не понимают, насколько LLM захватили все эти системы с очень высоким трафиком, очень высоким трафиком. Да. Это Google, это YouTube. У YouTube есть эта штука с semantic ID, где, по сути, каждый токен или каждый элемент в словаре — это видео на YouTube или что-то, что предсказывает видео с помощью кодовой книги, что для масштаба YouTube для меня просто абсурдно.
Jeff Dean [00:23:50]: А совсем недавно — Grok тоже у xAI, что типа да. Я хочу отметить, что даже до того, как LLM стали активно использоваться в поиске, мы делали большой акцент на смягчении понятия того, что именно пользователь ввёл в запрос.
Shawn Wang [00:24:06]: А есть ли у тебя как бы история, какова была прогрессия? О да.
Jeff Dean [00:24:09]: Я на самом деле дал доклад, кажется, на конференции по веб-поиску и data mining в 2009 году, где — мы никогда не публиковали статей про истоки поиска Google — но мы прошли через четыре, или пять, или шесть поколений переработки системы поиска и извлечения, примерно с 1999 по 2004 или 2005 год. И тот доклад как раз об этой эволюции. И одна из вещей, что реально случилась в 2001 году, — мы работали над масштабированием системы по нескольким измерениям. Одно — мы хотели сделать наш индекс больше, чтобы извлекать из большего индекса, что в целом всегда улучшает качество. Потому что если страницы нет в твоём индексе, ты не справишься хорошо. А ещё нам нужно было масштабировать пропускную способность, потому что наш трафик рос весьма обширно. И поэтому у нас была шардированная система, где по мере роста индекса добавляешь всё больше шардов, скажем, 30 шардов. И если хочешь удвоить размер индекса, делаешь 60 шардов, чтобы можно было ограничить латентность, с которой отвечаешь на любой конкретный пользовательский запрос. А потом, по мере роста трафика, добавляешь всё больше реплик каждого из них. И в итоге мы посчитали и осознали, что в дата-центре, где у нас было, скажем, 60 шардов и, знаешь, 20 копий каждого шарда, у нас теперь было 1200 машин с дисками. И мы посчитали и поняли: эй, одна копия этого индекса на самом деле уместилась бы в памяти на 1200 машинах. Так что в 2001 году мы поместили весь наш индекс в память, и то, что это открыло с точки зрения качества, было потрясающе. И у нас было всё больше реплик каждого из них. Раньше приходилось очень аккуратно следить за тем, сколько разных термов ты смотришь для запроса, потому что каждый из них требовал бы дискового поиска на каждом из 60 шардов. И поэтому по мере увеличения индекса это становится ещё более неэффективным. Но как только весь индекс в памяти, совершенно нормально иметь 50 термов, которые ты бросаешь в запрос из исходного запроса пользователя из трёх-четырёх слов, потому что теперь можно добавлять синонимы, как «ресторан» и «рестораны», и «кафе», и, знаешь, «бистро» и всё такое. И ты вдруг можешь начать реально добираться до значения слова, а не до точной семантической формы, которую ввёл пользователь. И это, знаешь, 2001 год, очень даже до LLM, но реально это было про смягчение строгого определения того, что ввёл пользователь, ради того, чтобы добраться до значения.
Alessio Fanelli [00:26:47]: Какие принципы ты используешь при проектировании систем, особенно когда у тебя — в 2001 году интернет как бы удваивался, утраивался каждый год в размере, это не как... И, думаю, сегодня это в каком-то смысле видно и с LLM, где каждый год скачки в размере и возможностях просто такие большие. Есть ли какие-то принципы, которые ты используешь, чтобы думать об этом? Да.
Jeff Dean [00:27:08]: Думаю, во-первых, всякий раз, когда проектируешь систему, хочется понять, какие параметры проектирования будут наиболее важны при её проектировании, знаешь? Сколько запросов в секунду нужно обрабатывать? Насколько велик интернет? Насколько велик индекс, который нужно обрабатывать? Сколько данных нужно хранить для каждого документа в индексе? Как ты будешь на него смотреть, когда извлекаешь вещи? Что произойдёт, если трафик удвоится или утроится — будет ли эта система работать хорошо? И, думаю, хороший принцип проектирования: ты хочешь проектировать систему так, чтобы самые важные характеристики могли масштабироваться, скажем, в пять или десять раз, но, вероятно, не больше, потому что часто бывает так, что если проектируешь систему под X, а что-то вдруг становится стократным X, это открыло бы совсем другую точку в пространстве проектирования, которая не имела бы смысла при X. Но вдруг при стократном X она обретает полный смысл. Например, переход от индекса на диске к индексу в памяти приобретает большой смысл, как только у тебя достаточно трафика, потому что теперь у тебя достаточно реплик состояния на диске, что эти машины теперь реально могут держать полную копию индекса в памяти. И это вдруг открыло совсем другой дизайн, который раньше был бы непрактичен. Да. Так что я большой поклонник продумывания дизайнов в голове, просто игры с пространством проектирования немного, прежде чем реально много писать кода. Но, как ты сказал, в ранние дни Google мы наращивали индекс довольно обширно. Мы наращивали частоту обновления индекса. Так что частота обновления на самом деле — это параметр, который изменился больше всего. Удивительно. Раньше это было раз в месяц.
Shawn Wang [00:28:55]: Да.
Jeff Dean [00:28:56]: А потом мы перешли к системе, которая могла обновить любую конкретную страницу примерно меньше чем за минуту. Окей.
Shawn Wang [00:29:02]: Да. Потому что это конкурентное преимущество, верно?
Jeff Dean [00:29:04]: Потому что вдруг новостные запросы — знаешь, если у тебя индекс новостей за прошлый месяц, он не особо полезен для...
Shawn Wang [00:29:11]: Новости — особый зверь. Не было ли — ты ведь мог вынести их на отдельную систему.
Jeff Dean [00:29:15]: Ну, мы так и сделали. Мы запустили продукт Google News, но ты также хочешь, чтобы новостные запросы, которые люди вводят в основной индекс, тоже были как бы обновлены.
Shawn Wang [00:29:23]: Так что да, это интересно. И потом приходится как бы классифицировать, является ли страница... приходится решать, какие страницы нужно обновлять и с какой частотой. О да.
Jeff Dean [00:29:30]: Есть целая система за кулисами, которая пытается решать частоты обновления и важность страниц. Так что даже если частота обновления кажется низкой, ты всё равно можешь хотеть переобходить важные страницы довольно часто, потому что вероятность их изменения может быть низкой, но ценность того, чтобы иметь их обновлёнными, высока.
Shawn Wang [00:29:50]: Да, да, да, да. Ну, знаешь, да. Это упоминание латентности и сохранения вещей напоминает мне один из твоих классических материалов, который я обязан поднять, — latency numbers. Every programmer should know. Была ли там какая-то общая история? Ты просто записал их?
Jeff Dean [00:30:06]: Там, типа, восемь или десять разных метрик, например: сколько занимает промах кэша? Сколько занимает неверное предсказание ветвления? Сколько занимает обращение к основной памяти? Сколько занимает отправка, знаешь, пакета из США в Нидерланды или что-то такое? Хм,
Shawn Wang [00:30:21]: почему Нидерланды, кстати, или это из-за Chrome?
Jeff Dean [00:30:25]: У нас был дата-центр в Нидерландах. То есть, думаю, это про умение делать прикидки «на обороте конверта». Так что это как бы сырые ингредиенты для них, и с их помощью можно сказать: окей, если мне нужно спроектировать систему для поиска по изображениям и создания превью или чего-то для страницы результатов, то как мне это сделать — я мог бы предвычислить превью изображений. Я мог бы пытаться делать превью на лету из больших изображений. Что это даст? Сколько дисковой пропускной способности мне понадобится? Сколько дисковых поисков я сделаю? И ты реально можешь делать мысленные эксперименты за, знаешь, 30 секунд или минуту с базовыми цифрами под рукой. А потом, по мере того как строишь софт, используя библиотеки более высокого уровня, хочется выработать такие же интуиции для того, сколько занимает, знаешь, найти что-то в этом конкретном виде...
Shawn Wang [00:31:21]: Увидимся в следующий раз.
Shawn Wang [00:31:51]: Что является простым преобразованием байтов. В этом нет ничего интересного. Интересно, есть ли у тебя что-нибудь, если бы ты обновлял свои...
Jeff Dean [00:31:58]: Думаю, реально полезно думать о вычислениях, которые ты делаешь в модели, либо для обучения, либо для инференса.
Jeff Dean [00:32:09]: Часто хороший способ взглянуть на это — сколько состояния тебе нужно будет принести из памяти, либо из on-chip SRAM, либо из HBM с присоединённой к ускорителю памяти, либо из DRAM, либо по сети. А потом — насколько дорого это перемещение данных относительно стоимости, скажем, самого умножения в матричном умножителе? И эта стоимость на самом деле очень-очень низкая, верно? Потому что она порядка, в зависимости от твоей точности, кажется, меньше одного пикоджоуля.
Shawn Wang [00:32:50]: О, окей. Ты измеряешь это в энергии. Да. Да.
Jeff Dean [00:32:52]: Да. То есть всё будет про энергию и про то, как сделать максимально энергоэффективную систему. А потом перемещение данных из SRAM на другую сторону чипа, даже не за пределы чипа, а на другую сторону того же чипа, может стоить, знаешь, тысячу пикоджоулей. О, да. И вот вдруг — вот почему твои ускорители требуют батчинга. Потому что если ты перемещаешь, скажем, параметр модели из SRAM на чипе в умножитель, это будет стоить тебе тысячу пикоджоулей. Так что тебе лучше использовать эту штуку, которую ты переместил, много-много раз. Вот тут и появляется измерение батча. Потому что вдруг, знаешь, если у тебя батч в 256 или около того, это не так уж плохо. Но если у тебя батч в один — это реально нехорошо.
Shawn Wang [00:33:40]: Да. Да. Верно.
Jeff Dean [00:33:41]: Потому что тогда ты заплатил тысячу пикоджоулей, чтобы сделать своё умножение за один пикоджоуль.
Shawn Wang [00:33:46]: Я никогда не слышал энергетического анализа батчинга.
Jeff Dean [00:33:50]: Да. Вот почему люди батчат. Да. В идеале хотелось бы использовать размер батча один, потому что латентность была бы отличной.
Shawn Wang [00:33:56]: Лучшая латентность.
Jeff Dean [00:33:56]: Но энергозатраты и неэффективность по вычислительной стоимости, которые ты получаешь, довольно велики. Так что да.
Shawn Wang [00:34:04]: Есть ли похожий трюк, как тот, что ты сделал с помещением всего в память? Знаешь, думаю, очевидно, что NVIDIA наделала много шума, очень сильно сделав ставку на SRAM с Groq. Интересно, не видел ли ты это уже с TPU, верно? Что чтобы обслуживать в твоём масштабе, ты, наверное, как бы предвидел это. Какие аппаратные инновации или озарения сформировались из того, что ты там видишь?
Jeff Dean [00:34:33]: Да. Думаю, знаешь, у TPU есть эта приятная регулярная структура из 2D- или 3D-сеток с кучей соединённых чипов. Да. И к каждому из них присоединена HBM. Думаю, для обслуживания некоторых видов моделей платишь гораздо более высокую стоимость и латентность, перенося вещи из HBM, чем перенося их из SRAM на чипе. Так что если у тебя достаточно маленькая модель, ты реально можешь делать параллелизм модели, размазать её по множеству чипов, и реально получаешь весьма хорошие улучшения пропускной способности и латентности от этого. И вот ты теперь как бы располосовываешь свою небольшую модель по, скажем, 16 или 64 чипам. И если ты так делаешь, и всё это влезает в SRAM, это может быть большой выигрыш. Так что да, это не сюрприз, но это хорошая техника.
Alessio Fanelli [00:35:27]: Да. А что насчёт дизайна TPU? Например, насколько ты решаешь, куда должны идти улучшения? Это ведь хороший пример: есть ли способ снизить тысячу пикоджоулей до 50? Стоит ли проектировать новый чип, чтобы это сделать? Крайность — это когда люди говорят: о, надо просто прожечь модель в ASIC, и это самая крайняя штука. Насколько стоит вкладываться в железо, когда всё меняется так быстро? Какова была внутренняя дискуссия? Да.
Jeff Dean [00:35:57]: Думаю, у нас много взаимодействия между, скажем, командой архитектуры дизайна чипа TPU и более высокоуровневыми экспертами по моделированию, потому что реально хочется воспользоваться возможностью совместно проектировать то, как должны выглядеть будущие TPU, исходя из того, куда, как мы думаем, движется шайба ML-исследований, в некотором смысле, потому что, знаешь, как разработчик железа для ML, в частности, ты пытаешься спроектировать чип, начиная сегодня, и этот дизайн может занять два года, прежде чем он вообще приземлится в дата-центре. А потом он должен прослужить разумное время жизни чипа — три, четыре или пять лет. Так что ты пытаешься предсказать на два-шесть лет вперёд, какие ML-вычисления люди захотят запускать через два-шесть лет в очень быстро меняющейся области. И поэтому наличие людей с интересными идеями ML-исследований о вещах, которые, как мы думаем, начнут работать в этом интервале или станут важнее в нём, реально позволяет нам затем встроить интересные аппаратные функции в, знаешь, TPU N плюс два, где TPU N — то, что у нас есть сегодня.
Shawn Wang [00:37:10]: О, время цикла — это плюс два.
Jeff Dean [00:37:12]: Примерно. Ого. Потому что иногда можно впихнуть некоторые изменения в N плюс один, но, знаешь, более крупные изменения потребуют, чтобы дизайн чипа был на более ранней стадии процесса проектирования его жизненного цикла. Так что когда мы можем это сделать, это в целом хорошо. И иногда можно встроить спекулятивные функции, которые, может, не будут стоить много площади чипа, но если сработают, сделают что-то, знаешь, в 10 раз быстрее. А если не сработают — ну, ты сжёг крошечную долю площади чипа на эту штуку, но это не такая уж большая проблема. Иногда это очень большое изменение, и мы хотим быть достаточно уверены, что это сработает. Так что мы делаем кучу тщательных ML-экспериментов, чтобы показать нам, что это действительно то направление, в которое мы хотим идти. Да.
Alessio Fanelli [00:37:58]: Бывает ли обратное — типа, мы уже зафиксировали этот дизайн чипа, поэтому не можем повести архитектуру модели в ту сторону, потому что она не очень-то подходит?
Jeff Dean [00:38:06]: Да. У тебя определённо бывают ситуации, когда ты собираешься адаптировать то, как выглядит архитектура модели, чтобы она была эффективной на чипах, которые у тебя будут и для обучения, и для инференса этого поколения модели. Так что, думаю, это как бы идёт в обе стороны. Знаешь, иногда можно воспользоваться, знаешь, низкоточными штуками, что появятся в будущем поколении. Так что можно обучать на этой более низкой точности, даже если текущее поколение не совсем так делает. Хм.
Shawn Wang [00:38:40]: Да. Насколько низко мы можем опуститься по точности?
Jeff Dean [00:38:43]: Потому что люди говорят, например, тернарная — это типа... да, я большой поклонник очень низкой точности, потому что, думаю, это экономит тебе колоссальное количество времени. Верно. Потому что это пикоджоули на бит, который ты передаёшь, и уменьшение числа бит — реально хороший способ это снизить. Знаешь, думаю, люди извлекли много пользы из очень низкобитной точности, но при этом имея масштабирующие коэффициенты, которые применяются к целой куче этих весов. Масштабирование. Как это, как это, окей.
Shawn Wang [00:39:15]: Интересно. Значит, низкая точность, но масштабированные веса. Да. Хм. Да. Никогда об этом не думал. Да. Интересно. Раз уж мы на эту тему, знаешь, думаю, есть много... вот это понятие точности вообще странное, когда мы сэмплируем, знаешь. Мы просто, в конце всего этого, получим все эти чипы, которые делают очень хорошую математику. А потом мы просто бросим генератор случайных чисел в начале. Так что есть движение в сторону энергетических моделей и процессоров. Мне просто любопытно — очевидно, ты об этом думал, но какой твой комментарий?
Jeff Dean [00:39:50]: Да. Думаю, есть куча интересных трендов. Энергетические модели — один из них; знаешь, диффузионные модели, которые не декодируют токены последовательно, — другой; спекулятивное декодирование — способ, которым можно получить как бы эквивалент очень малого...
Shawn Wang [00:40:06]: Черновика.
Jeff Dean [00:40:07]: Коэффициента батча, например, ты предсказываешь восемь токенов вперёд, и это позволяет тебе как бы увеличить эффективный размер батча того, что ты делаешь, в восемь раз, а потом ты, может, принимаешь пять или шесть из этих токенов. Так что ты получаешь пятикратное улучшение в амортизации перемещения весов в умножители для выполнения предсказания токенов. Так что это всё реально хорошие техники, и, думаю, реально полезно смотреть на них сквозь призму энергии, реальной энергии, не энергетических моделей, и также латентности и пропускной способности, верно? Если смотреть на вещи через эту призму, это как бы ведёт тебя к решениям, которые будут лучше с точки зрения возможности обслуживать более крупные модели или, знаешь, модели эквивалентного размера дешевле и с меньшей латентностью.
Shawn Wang [00:41:03]: Да. Ну, думаю, мне это интеллектуально привлекательно, но я не видел, чтобы это реально дошло до мейнстрима, но я всё же думаю, что есть некая поэзия в том смысле, что, знаешь, нам не пришлось бы делать кучу ухищрений, если бы мы фундаментально встроили это в железо. Да, да.
Jeff Dean [00:41:23]: Да. Думаю, есть ещё и более экзотические вещи, вроде аналоговых вычислительных субстратов в противоположность цифровым. Я, знаешь, думаю, они супер интересны, потому что потенциально могут быть низкопотребляющими. Но, думаю, часто в итоге хочется состыковать это с цифровыми системами, и в итоге теряешь много преимуществ по мощности в цифро-аналоговых и аналого-цифровых преобразованиях, которые приходится делать на границах и периферии этой системы. Я всё же думаю, что есть колоссальная дистанция, которую мы можем пройти от того, где мы сегодня, по энергоэффективности с гораздо лучшим и специализированным железом для моделей, которые нас волнуют.
Shawn Wang [00:42:05]: Да.
Alessio Fanelli [00:42:06]: Есть ли какие-то другие интересные исследовательские идеи, которые ты видел, или, может, вещи, которые ты не можешь преследовать в Google и которые тебе было бы интересно увидеть, чтобы исследователи за них взялись, — хотя, наверное, у тебя много исследователей. Да, наверное, достаточно, но наша, наша исследовательская...
Jeff Dean [00:42:21]: Наш исследовательский портфель довольно широк, я бы сказал. Думаю, с точки зрения исследовательских направлений есть целая куча открытых проблем — и как сделать эти модели надёжными и способными выполнять гораздо более длинные, более сложные задачи, у которых много подзадач. Как ты оркеструешь, может, одну модель, которая использует другие модели как инструменты, чтобы строить вещи, которые могут совместно выполнить гораздо более значительные куски работы, чем ты попросил бы сделать одну модель. Так что это супер интересно. Как получить более проверяемые... знаешь, как заставить RL работать для непроверяемых доменов? Думаю, это довольно интересная открытая проблема, потому что, думаю, это расширило бы возможности моделей — те улучшения, что ты видишь и в математике, и в кодировании. Если бы мы могли применить их к другим, менее проверяемым доменам, потому что мы придумали бы RL-техники, которые реально позволяют нам делать это эффективно, это реально сильно улучшило бы модели, я думаю.
Alessio Fanelli [00:43:26]: Мне любопытно — когда у нас в подкасте был Ноам Браун, он сказал, что они уже доказали, что это можно сделать с deep research. Знаешь, в каком-то смысле это есть с AI mode — это непроверяемо. Мне любопытно, есть ли тут какая-то нить, которую ты считаешь интересной. Что это? Оба — это как бы извлечение информации в JSON. Так что мне интересно, не является ли извлечение проверяемой частью, которую можно оценить, или что — да, да. Как бы ты смоделировал эту проблему?
Jeff Dean [00:43:55]: Да. Думаю, есть способы иметь другие модели, которые могут оценивать результаты того, что сделала первая модель, может, даже извлечения. Можешь ли ты иметь другую модель, которая говорит: эти вещи, что ты извлёк, релевантны? Или можешь ли ты оценить эти 2000 вещей, что ты извлёк, чтобы определить, какие из них 50 наиболее релевантных или около того? Думаю, такого рода техники на самом деле весьма эффективны. Иногда это даже может быть та же модель, просто подсказанная иначе, чтобы быть, знаешь, критиком, в противоположность собственно системе извлечения. Да.
Shawn Wang [00:44:28]: Я всё же думаю, что есть этот странный обрыв, где, кажется, мы сделали лёгкие вещи, а теперь — но так кажется каждый год. Типа: о, мы знаем-знаем, а следующая часть супер сложная, и никто её не разгадал. И именно с этой штукой RLVR, где все говорят: ну ладно, как нам сделать следующий этап непроверяемого? И все такие: я не знаю, знаешь, LLM-судья.
Jeff Dean [00:44:56]: Думаю, приятная вещь в этой области — что есть очень-очень много умных людей, думающих над креативными решениями некоторых проблем, которые мы все видим. Потому что, думаю, все как бы видят, что модели отличны в некоторых вещах и спотыкаются на краях этих вещей и не так способны, как нам хотелось бы, в этих областях. И вот придумывание хороших техник, и их пробование, и наблюдение за тем, какие из них реально дают результат, — это как бы и есть то, что весь исследовательский аспект этой области толкает вперёд. И, думаю, поэтому это супер интересно. Знаешь, если подумать о двух годах назад, мы мучились с задачами GSM8K, верно? Типа, знаешь, «у Фреда два кролика. Он получает ещё трёх кроликов. Сколько у него кроликов?» Это довольно далеко от того рода математики, что модели теперь могут, и теперь ты делаешь IMO и задачи Эрдёша на чистом языке. Да. Да. На чистом языке. Так что это реально потрясающий скачок в возможностях за, знаешь, полтора года или около того. И, думаю, для других областей было бы здорово, если бы мы могли сделать такого рода скачок. И, знаешь, мы пока точно не видим, как это сделать для некоторых областей, но видим для некоторых других, и мы будем упорно работать над тем, чтобы это улучшить. Да.
Shawn Wang [00:46:13]: Да.
Alessio Fanelli [00:46:14]: Например, генерация превью для YouTube. Это было бы очень полезно. Нам это нужно. Это был бы AGI. Нам это нужно.
Shawn Wang [00:46:20]: Это было бы... Для создателей контента.
Jeff Dean [00:46:22]: Я, наверное, не создатель на YouTube, так что меня не очень-то волнует эта проблема, но, наверное, многих волнует.
Shawn Wang [00:46:27]: Волнует. Да. Это неважно. Люди всё-таки судят о книгах по обложкам, как выясняется. Просто чтобы немного развить тему цели IMO. Я всё ещё не могу пережить тот факт, что год назад у нас были AlphaProof, и AlphaGeometry, и все эти штуки. А в этом году мы такие: да к чёрту, просто закинем это в Gemini. Да. Каковы твои размышления? Думаю, этот вопрос о слиянии символьных систем и LLM был очень даже ключевым убеждением. А потом где-то по пути люди просто сказали: нет, мы просто всё сделаем в LLM.
Jeff Dean [00:47:02]: Да. Думаю, для меня это имеет большой смысл, потому что, знаешь, люди манипулируют символами, но у нас, наверное, нет символьного представления в голове. Верно. У нас есть некое распределённое представление, которое нейросетеподобно в каком-то смысле — из множества разных нейронов и паттернов активации, срабатывающих, когда мы видим определённые вещи, и это позволяет нам рассуждать, и планировать, и, знаешь, строить цепочки мыслей, и откатывать их назад: теперь этот подход к решению проблемы не похоже, что сработает, я попробую вот этот. И, знаешь, во многом мы эмулируем то, что интуитивно считаем происходящим внутри реальных мозгов, в моделях на основе нейросетей. Так что мне никогда не имело смысла иметь как бы полностью отдельные дискретные символьные вещи, а потом совершенно другой способ думать об этих вещах.
Shawn Wang [00:47:59]: Интересно. Да. Может, тебе это кажется очевидным, но мне это не было очевидно год назад. Да.
Jeff Dean [00:48:06]: Думаю, IMO — со, знаешь, переводом в Lean и использованием Lean, а потом, в следующем году, плюс специализированная модель для геометрии. А потом в этом году переход на единую унифицированную модель, которая примерно является продакшн-моделью с чуть большим бюджетом инференса, — это на самом деле весьма хорошо, потому что показывает тебе, что возможности этой общей модели кардинально улучшились, и теперь тебе не нужна специализированная модель. Это на самом деле очень похоже на эпоху 2013–2016 годов в машинном обучении, верно? Раньше люди обучали отдельные модели для множества разных задач, для каждой отдельной проблемы, верно? Я хочу распознавать дорожные знаки или что-то — я обучаю модель распознавания дорожных знаков; или я хочу декодировать распознавание речи — у меня модель речи, верно? Думаю, теперь эпоха унифицированных моделей, которые делают всё, реально наступила. И вопрос в том, насколько хорошо эти модели обобщаются на новые вещи, которые их никогда не просили делать, и они становятся всё лучше и лучше.
Shawn Wang [00:49:10]: И тебе не нужны эксперты в предметной области. Один из моих... я брал интервью у ЭТА, который был в той команде. И он такой: да, я не знаю, как они работают. Я не знаю, где проводилось соревнование IMO. Я не знаю его правил. Я просто обучал модели, обучал модели. Да. Да. И как бы интересно, что люди с этим универсальным набором навыков, типа просто машинное обучение, — ты просто даёшь им данные и достаточно вычислений, и они могут как бы взяться за любую задачу, что и есть горький урок, наверное. Не знаю. Да.
Jeff Dean [00:49:39]: Думаю, общие модели победят специализированные в большинстве случаев.
Shawn Wang [00:49:45]: Хочу тут немного надавить. Думаю, тут есть одна дыра, а именно — это понятие, скажем, ёмкости модели: абстрактно модель может содержать лишь то число битов, что у неё есть. И, знаешь, бог знает, Gemini Pro — это, типа, от одного до десяти триллионов параметров, мы не знаем, но модели Gemma, например, верно? Многим нужны опенсорсные локальные модели, и у них есть некое знание, которое не обязательно, верно? Они не могут знать всё, как ты... у тебя есть роскошь — большая модель, и большая модель должна быть способна на всё. Но когда ты дистиллируешь и спускаешься к малым моделям, знаешь, ты на самом деле запоминаешь вещи, которые бесполезны. Да. И как нам, наверное, это извлечь? Можем ли мы развести знание и рассуждение, знаешь?
Jeff Dean [00:50:38]: Да. Думаю, ты хочешь, чтобы модель была максимально эффективна в рассуждении, если она может извлекать вещи, верно? Потому что заставлять модель тратить драгоценное пространство параметров на запоминание малоизвестных фактов, которые можно было бы посмотреть, — на самом деле не лучшее использование этого пространства параметров, верно? Например, ты бы предпочёл нечто более полезное в большем числе ситуаций, чем этот малоизвестный факт. Так что тут всегда есть напряжение, и в то же время ты также не хочешь, чтобы твоя модель была как бы полностью оторвана от знания о мире, верно? Например, наверное, полезно знать, какова длина моста Золотые Ворота, просто как общее ощущение того, какой длины мосты, верно? И у неё должно быть такое знание. Ей, может, не нужно знать длину какого-то крошечного мостика в более малоизвестной части мира, но ей помогает иметь приличный объём знаний о мире, и чем больше твоя модель, тем больше ты можешь иметь. Но я всё же думаю, что сочетание извлечения с рассуждением и умение модели реально хорошо делать несколько стадий извлечения. Да.
Shawn Wang [00:51:49]: И рассуждение через промежуточные результаты извлечения будет довольно эффективным способом сделать модель кажущейся гораздо более способной, потому что если подумать, скажем, о персональном Gemini, да, верно?
Jeff Dean [00:52:01]: Например, мы, наверное, не будем обучать Gemini на моей почте. Скорее, мы хотели бы иметь единую модель, которую затем можно использовать, причём с возможностью извлекать из моей почты как инструмент, и чтобы модель рассуждала об этом, и извлекала из моих фото или чего угодно, а потом использовала это и имела несколько стадий взаимодействия. В этом есть смысл.
Alessio Fanelli [00:52:24]: Думаешь ли ты, что вертикальные модели — интересное направление? Когда люди говорят: о, мы строим лучшую LLM для здравоохранения, мы строим лучшую LLM для права, — это как бы краткосрочные затычки или?
Jeff Dean [00:52:37]: Нет, думаю, вертикальные модели интересны. Например, ты хочешь, чтобы они стартовали с довольно хорошей базовой модели, но потом можно как бы рассматривать их как обогащение распределения данных для этого конкретного вертикального домена. Для здравоохранения, скажем, или, скажем, для робототехники мы, наверное, не будем обучать Gemini на всех возможных данных по робототехнике. На которых мы могли бы обучить, потому что хотим, чтобы у неё был сбалансированный набор способностей. Так что мы дадим ей какие-то данные по робототехнике, но если ты пытаешься построить реально очень хорошую модель для робототехники, ты захочешь стартовать с этого и потом обучить её на большем количестве данных по робототехнике. И тогда, может, это снизит её способность к многоязычному переводу, но улучшит её способности по робототехнике. И мы всё время делаем такого рода компромиссы в миксе данных, на котором обучаем базовые модели Gemini. Знаешь, мы бы с удовольствием включили данные из ещё 200 языков и столько данных, сколько у нас есть для этих языков, но это вытеснит какие-то другие способности модели. Она будет не так хороша, знаешь, в программировании на Perl, знаешь, она всё ещё будет хороша в программировании на Python, потому что мы его включим в достаточном количестве, но есть другие языки программирования из длинного хвоста или способности кодирования, в которых она может пострадать, или способности мультимодального рассуждения могут пострадать, потому что мы не успели дать ей столько данных там, но зато она реально хороша в многоязычных вещах. Так что, думаю, некая комбинация специализированных моделей, может, более модульных моделей. Так что было бы неплохо иметь возможность иметь те 200 языков, плюс эту потрясающую модель для робототехники, плюс этот потрясающий модуль для здравоохранения, которые все можно сшить вместе, чтобы работали в согласии и вызывались в разных обстоятельствах, верно? Например, если у меня есть нечто, связанное со здоровьем, тогда это должно позволить использовать этот модуль для здоровья совместно с основной базовой моделью, чтобы быть ещё лучше в такого рода вещах. Да.
Shawn Wang [00:54:36]: Устанавливаемое знание. Да.
Jeff Dean [00:54:37]: Верно.
Shawn Wang [00:54:38]: Просто скачать как пакет.
Jeff Dean [00:54:39]: И часть этой устанавливаемой штуки может приходить из извлечения, но часть её, наверное, должна приходить из предзагруженного обучения на, знаешь, сотне миллиардов токенов или триллионе токенов данных о здоровье. Да.
Shawn Wang [00:54:51]: И для слушателей, думаю, я отмечу статью о Gemma 3n, где было немного этого, я думаю. Да.
Alessio Fanelli [00:54:56]: Да. Думаю, вопрос в том, сколько миллиардов токенов нужно, чтобы обогнать улучшения фронтирной модели. Знаешь, типа, если мне нужно сделать эту модель лучше в здравоохранении, а основная модель Gemini всё ещё улучшается. Нужно ли мне 50 миллиардов токенов? Могу ли я сделать это с сотней — если мне нужен триллион токенов по здравоохранению, то их, наверное, попросту нет, их у тебя нет. Думаю, это реально как бы...
Jeff Dean [00:55:21]: Ну, думаю, здравоохранение — особенно сложный домен, так что есть много медицинских данных, к которым у нас, знаешь, нет надлежащего доступа, но есть много медицинских организаций, которые хотят обучать модели на собственных данных. Это непубличные медицинские данные. Так что, думаю, тут есть возможности, скажем, партнёриться с крупной медицинской организацией и обучать модели для их использования, которые будут более кастомными, но, наверное, могут быть лучше, чем общая модель, обученная на, скажем, публичных данных. Да.
Shawn Wang [00:55:58]: Да. Я верю — кстати, это в каком-то смысле связано с разговором о языках. Думаю, один из твоих любимых примеров — что можно поместить язык с малыми ресурсами в контекст, и она просто его выучивает. Да.
Jeff Dean [00:56:09]: О да, думаю, пример, который мы использовали, был каламанг — по-настоящему малоресурсный, потому что на нём говорит, кажется, всего 120 человек в мире, и нет письменного текста.
Shawn Wang [00:56:20]: Так что да. Так что можно просто сделать это так. Просто помести его в контекст. Да. Да. Но ты помещаешь весь свой набор данных в контекст, верно.
Jeff Dean [00:56:27]: Если взять такой язык, как, знаешь, сомали или что-то, в мире есть приличный объём текста на сомали, или эфиопский амхарский или что-то, знаешь, мы, наверное... Да. Мы не помещаем все данные с этих языков в обучение на основе Gemini. Мы помещаем часть, но если поместить больше, ты улучшишь возможности этих моделей.
Shawn Wang [00:56:49]: Да.
Jeff Dean [00:56:49]: Так что — или этих языков.
Shawn Wang [00:56:52]: Да, круто. У меня есть побочный интерес к лингвистике. Я прошёл несколько курсов ещё в колледже, и часть меня — если бы я был лингвистом и имел доступ ко всем этим моделям, я бы просто задавал реально фундаментальные вопросы о самом языке. Да. Например, один очень очевидный — гипотеза Сепира-Уорфа: насколько язык, на котором ты говоришь, влияет на твоё мышление, но ещё есть некоторые языки, где есть просто понятия, которые не представлены в других языках, а многие другие — просто дубликаты, верно. Есть ещё одна статья, которую люди обожают, под названием «платоническое представление», где, знаешь, изображение чашки — если обучить на этом модель, и у тебя много текстов со словом «чашка», в итоге оно отображается примерно в то же место. И это должно применяться к языкам, кроме случаев, когда не применяется. И это на самом деле очень интересные различия в том, какие понятия открыло человечество, которых, может, в английском нет.
Shawn Wang [00:57:54]: Не знаю. Это просто моя тирада о языках. Да.
Jeff Dean [00:57:58]: Я делал кое-какую работу над ранней моделью, которая сплавляла вместе языковую модель — знаешь, у тебя приятные представления на основе слов — и модель изображений, где ты обучил её на чём-то вроде ImageNet. Да. А потом ты сплавляешь верхние слои... нет, это DeViSE — ты делаешь чуть больше обучения, чтобы сплавить эти представления. И обнаружилось, что если дать новое изображение, которого нет ни в одной из категорий, на которых обучалась модель изображений, модель часто может присвоить как бы правильную категорию, правильную метку этому изображению. Так что, например, думаю, «телескоп» и «бинокль» оба были в обучающих категориях для модели изображений, но «микроскоп» — нет. Хм. И вот если дать изображение микроскопа, она реально может выдать нечто, что содержит слово «микроскоп» как метку, которую она присваивает, хотя она никогда не видела изображения с такой меткой.
Shawn Wang [00:59:01]: О, это здорово. Это как бы круто. Да.
Jeff Dean [00:59:04]: Так что да.
Shawn Wang [00:59:07]: Полезно. Круто. Думаю, есть более общие, широкие вопросы, но, наверное, о чём ты хотел бы, чтобы тебя спрашивали больше в целом, знаешь, типа — у тебя такой широкий охват. Мы покрыли железо, мы покрыли модели, исследования. Да.
Jeff Dean [00:59:22]: Думаю, одна штука, которая как бы интересна, — знаешь, я делал дипломную работу бакалавра по обучению нейросетей, по параллельному обучению нейросетей, ещё в 1990 году, когда познакомился с нейросетями, и мне всегда казалось, что они — правильная абстракция. Но нам просто нужно было гораздо больше вычислений, чем у нас тогда было. Угу. Так что, например, 32 процессора в параллельном компьютере кафедры могли дать тебе чуть более интересную модель, но недостаточно, чтобы решать реальные проблемы. И вот, начиная с 2008 или 2009 года, мир начал иметь достаточно вычислительной мощности благодаря закону Мура и, знаешь, более крупным интересным наборам данных для обучения, чтобы реально начать обучать нейросети, которые могли браться за реальные проблемы, которые волновали людей. Да. Распознавание речи, зрение и, в конце концов, язык. И вот, когда я начал работать над нейросетями в Google в конце 2011 года, знаешь, я реально просто чувствовал, что нам надо масштабировать размер нейросетей, которые мы можем обучать, используя большие объёмы параллельных вычислений. И вот я возродил кое-какие идеи из своей дипломной работы бакалавра, где делал и параллелизм модели, и параллелизм данных при обучении, и сравнивал их. Я называл их... я этим занимаюсь с восьми лет. Это было что-то другое. Это было типа «разбиение по паттернам» и, знаешь, «разбиение по модели» или что-то такое.
Shawn Wang [01:00:43]: Ну, я обязан — она публична? И мы можем её раскопать?
Jeff Dean [01:00:45]: Да, она в сети. Окей, здорово. Но, знаешь, думаю, сочетание многих из этих техник и просто попытки толкать масштабирование за последние, знаешь, 15 лет было реально важным. И это означает, знаешь, улучшения в железе. Так что, знаешь, толкать построение специализированного железа вроде TPU. Это также означает, знаешь, толкать слои абстракции в софте, чтобы дать людям выражать свои идеи компьютеру. Спасибо, что пригласили меня.
Jeff Dean [01:01:40]: Спасибо, что пригласили меня.
Shawn Wang [01:07:10]: Это что-то, с чем ты согласился бы на тот момент, или есть другой разбор постфактум?
Jeff Dean [01:07:15]: Внутренний рынок Brain для квот на вычисления.
Shawn Wang [01:07:18]: Квоты на вычисления, где, по сути, он говорил: окей, Дэвид работал в OpenAI как VP Engineering, а потом работал в Google. Он такой: фундаментально, OpenAI был готов пойти ва-банк, типа поставить на кон всё ради одной вещи, тогда как Google был более демократичным. У каждого была квота. И я такой: окей, если ты веришь в масштабирование как в важную вещь, это важное общеорганизационное решение, которое надо принять.
Jeff Dean [01:07:41]: Да. Да, думаю, я бы отчасти с этим согласился. Думаю, я на самом деле написал одностраничную служебную записку, в которой говорилось, что мы поступаем глупо, фрагментируя наши ресурсы. В частности, в то время у нас были усилия внутри Google Research и в команде Brain в частности по большим языковым моделям. У нас также были усилия по мультимодальным моделям в других частях Brain и Google Research. И ещё у Legacy DeepMind были усилия вроде моделей Chinchilla и Flamingo. И вот реально мы фрагментировали не только наши вычисления по этим отдельным усилиям, но и наших лучших людей, и наши лучшие [ресурсы]. И вот я сказал: это просто глупо. Почему бы нам не объединить вещи и не иметь одно усилие — обучить потрясающую единую унифицированную модель, которая мультимодальна с самого начала, которая хороша во всём. И это было истоком усилия Gemini.
Shawn Wang [01:08:52]: И моя одностраничная записка сработала, что хорошо. А у тебя было название? Потому что ещё, для тех, кто не знает, ты назвал Gemini.
Jeff Dean [01:08:58]: Назвал. Было предложено другое название. И я сказал: знаешь что? Это как бы похоже на то, что эти две организации в каком-то смысле как близнецы, сходящиеся вместе. Так что мне это вроде понравилось. А ещё есть NASA-интерпретация: ранний проект Gemini был важной вехой на пути к проекту Apollo. Так что показалось хорошим названием. Близнецы, сходящиеся вместе. Верно.
Alessio Fanelli [01:09:27]: Да. Хорошо. Знаю, мы уже выбиваемся из времени, но мне любопытно, как ты используешь AI сегодня для кодирования. То есть ты, наверное, один из самых плодовитых инженеров в истории информатики. Я читал статью про тебя и дружбу с Санджаем и про то, как вы работаете вместе. И у тебя есть цитата о том, что нужно найти того, с кем ты будешь парно программировать, кто совместим с твоим образом мышления, чтобы вы вдвоём вместе были взаимодополняющей силой. И я думал о том, как ты думаешь о кодовых агентах и о том, как сформировать кодового агента, чтобы он был совместим с твоим образом мышления. Как бы ты оценил инструменты сегодня? Куда всё должно двигаться? Да.
Jeff Dean [01:10:07]: Думаю, во-первых, инструменты для кодирования, знаешь, становятся радикально лучше по сравнению с тем, где они были год или два, два года назад. Так что теперь можно реально полагаться на них в более сложных вещах, которые ты как программист хочешь выполнить. И можно как бы делегировать им довольно сложные вещи. И, думаю, одна реально приятная сторона взаимодействия между человеком-программистом и кодовой моделью, с которой он работает, в том, что твой способ говорить с этой кодовой моделью на самом деле как бы диктует, как она взаимодействует с тобой, верно? Например, ты можешь попросить её: пожалуйста, напиши кучу хороших тестов для этого. Ты можешь попросить её: пожалуйста, помоги мне мозговым штурмом идеи по производительности, и твой способ делать это будет формировать, как модель отвечает, какие проблемы берёт на себя, знаешь, насколько ты хочешь, чтобы модель уходила и делала вещи, которые крупнее и более независимы, против взаимодействия с ней побольше, чтобы убедиться, что ты формируешь правильные вещи. И, думаю, неверно, что какой-то один стиль — правильная вещь для всего, верно? Например, для некоторых видов проблем ты реально хочешь, может, более частый стиль взаимодействия с моделью. А для других — ты просто такой: да, пожалуйста, просто иди и напиши это, потому что я знаю, что мне нужна эта штука. Я могу её достаточно хорошо специфицировать, и иди и сделай это, и возвращайся, когда закончишь. И вот, думаю, будет больше стиля, когда у тебя много независимых программных агентов, делающих вещи от твоего имени, и ты выясняешь правильную модель человеко-компьютерного взаимодействия и UI и так далее: когда ей следует прервать тебя и сказать: эй, мне нужно чуть больше указаний здесь, или: я сделала вот эту штуку, что теперь, что мне делать дальше? Думаю, мы не у финального ответа на этот вопрос. И по мере того как модели становятся лучше, тот набор решений, который ты вкладываешь в то, как должно происходить взаимодействие, может меняться, верно? Например, если у тебя команда из 50 стажёров, как бы ты управлял этим, если бы это были люди? И, думаю, вопрос не в том, хочешь ли ты 50 стажёров. Может, и хочешь, если они реально хороши, верно?
Shawn Wang [01:12:23]: Это куча менеджмента. Но это куча...
Jeff Dean [01:12:25]: Да. Думаю, это, наверное, в пределах возможного, что у многих людей могло бы быть 50 стажёров. Да. И как бы ты реально справлялся с этим как человек, верно? Например, ты, наверное, хотел бы, чтобы они формировали небольшие подкоманды, так что тебе не пришлось бы взаимодействовать с 50 из них. Ты можешь взаимодействовать с пятью, с пятью из этих команд, и они уходят и делают вещи от твоего имени, но я не знаю точно, как это будет разворачиваться.
Alessio Fanelli [01:12:52]: Хм. Да. Как ты думаешь о привлечении людей? Парное программирование всегда помогает как бы внести совершенно новые идеи в распределение, так сказать. Кажется, что по мере того как у нас всё больше этих кодовых агентов, пишущих код, становится трудно привлекать других людей в проблему. Так что ты идёшь к, знаешь, у тебя 50 стажёров, верно? И потом ты хочешь пойти к Ноаму Шазиру и сказать: эй, Ноам, я хочу попарить над этой штукой. Но теперь есть огромный объём работы, проделанной параллельно, по которому тебе надо его ввести в курс дела, верно. И мне любопытно — если люди будут как бы гораздо более изолированы в своих командах, где это типа: окей, в этих 50 стажёрах столько контекста, что мне просто трудно передать всё обратно тебе.
Jeff Dean [01:13:33]: Может быть. С другой стороны, представь классическую программную организацию без каких-либо AI-инструментов, верно. У тебя было бы, знаешь, 50 человек, делающих что-то, и их стиль взаимодействия будет естественно очень иерархическим, потому что, знаешь, эти 50 человек будут работать над этой частью системы и не очень-то взаимодействовать с другими людьми вот здесь. Но если у тебя, знаешь, пять человек, каждый управляет 50 виртуальными агентами, знаешь, они могут реально иметь гораздо более высокую пропускную способность коммуникации между этими пятью людьми, чем была бы среди пяти человек, которые ещё и пытаются координировать, знаешь, программную команду из 50 человек каждый.
Alessio Fanelli [01:14:15]: Так как, как ты меняешь свой рабочий ритм, знаешь, типа ты проводишь больше времени заранее с людьми, проходя через спеки и цели проектирования. Например,
Jeff Dean [01:14:26]: я всё же думаю, что интересно, что, знаешь, когда людей учили писать софт, их учили, что реально важно писать спецификации супер чётко, но никто реально в это не верил. Типа: да, как угодно. Мне не нужно это делать. Я просто... не знаю. Написание спецификации на английском языке никогда не было артефактом, которому уделяли много внимания. То есть это было важно, но это не было той вещью, что двигала собственно творческий процесс настолько, насколько — если ты специфицируешь, какой софт хочешь, чтобы агент написал для тебя, тебе лучше быть чертовски аккуратным в том, как ты это специфицируешь, потому что это будет диктовать качество вывода, верно? Например, если ты не покрыл, что нужно обработать вот такую вещь, или что это супер важный краевой случай, или что, знаешь, тебя реально волнует производительность вот этой части, знаешь, она может не сделать то, что ты хочешь. Да. И чем лучше ты становишься во взаимодействии с этими моделями... И, думаю, один из способов, которыми люди станут лучше, — они станут реально хороши в чётком специфицировании вещей, а не оставлении вещей на двусмысленность. И это на самом деле, наверное, не плохо. Это неплохой навык — иметь, независимо от того, программист ты или, знаешь, пытаешься делать какую-то другую задачу; знаешь, умение чётко специфицировать то, что тебе нужно, будет реально важным. Да.
Shawn Wang [01:15:52]: Моя, моя шутка в том, знаешь, что это неотличимо от достаточно продвинутой управленческой коммуникации, типа это как написание внутренней служебной записки, типа взвешивай свои слова очень аккуратно, а ещё, думаю, очень важно быть мультимодальным, верно? Думаю, одна вещь, которую сделал и Antigravity от Google, — это прямо с порога вышел с очень-очень сильной мультимодальностью, включая видео, и это самый высокопропускной коммуникационный промпт, который можно дать модели, что фантастично. Да.
Alessio Fanelli [01:16:20]: Как ты собираешь вещи, которые часто держишь в голове? Например, у тебя есть это потрясающее чутьё на производительность, о котором ты слышал, — как искать улучшения производительности. И есть ли гораздо больше ценности в том, чтобы люди записывали эти общие вещи, чтобы потом можно было вернуть их как потенциальные артефакты для извлечения для модели? Например, краевые случаи — хороший пример, верно? Например, если ты строишь системы, у тебя уже в голове есть конкретные краевые случаи, в зависимости от. Но теперь тебе приходится каждый раз это повторять. Например, заставляешь ли ты людей проводить гораздо больше времени за написанием? Находишь ли ты больше общих вещей, чтобы вернуть?
Jeff Dean [01:16:56]: Хм. Думаю, хорошо написанные руководства о том, как делать хорошую разработку софта, будут полезны, потому что их можно использовать как ввод для моделей или, знаешь, читать другим разработчикам, чтобы их промпты были, знаешь, более ясными о том, что должна делать нижележащая программная система. Знаешь, думаю, может, не нужно создавать кастомное для каждой ситуации, если у тебя есть общие руководства и ты помещаешь их в, знаешь, контекст кодового агента, это может быть полезно. Например, можно представить одно для распределённых систем, ты можешь сказать: окей, подумай об отказах вот такого рода, и вот некоторые техники, которыми можно справляться с отказами. Знаешь, можно иметь, знаешь, Paxos-подобную репликацию, или, знаешь, можно отправить запрос в два места и допускать отказ, потому что тебе нужно, чтобы вернулось только одно из них. Знаешь, небольшое описание 20 таких техник в построении распределённых систем, наверное, сильно помогло бы кодовому агенту суметь как бы собрать более надёжные и устойчивые распределённые системы.
Shawn Wang [01:18:07]: Да. Да. Интересно, когда Gemini сможет построить Spanner, верно?
Alessio Fanelli [01:18:12]: Наверное, уже имеет код внутри, знаешь?
Alessio Fanelli [01:18:16]: Да. Это, то есть, это хороший пример, верно? Когда у тебя, знаешь, теорема CAP, и это типа: ну, это истина, и ты не можешь её нарушить. А потом ты строишь нечто, что её нарушило.
Shawn Wang [01:18:26]: Например, мне любопытно — модели в каком-то смысле как бы... сказал бы он, что он её нарушил? А ты — сказал бы ты, что нарушил теорему CAP? Реально? Да. Окей. Ладно. То есть при локальных допущениях. Да. При некоторых, да. И у них, знаешь, хорошие часы. Да. Да.
Alessio Fanelli [01:18:41]: Это типа — иногда не обязательно всегда следовать тому, что известно как истина, верно. И я думаю, модели в каком-то смысле — если ты говоришь им что-то, они как бы реально покупаются на это, знаешь? Так что да, скорее размышление, чем какой-то ответ о том, как это починить.
Jeff Dean [01:18:57]: Да, моё, знаешь, — это как раз про большое промптирование и итерацию, знаешь; думаю, возвращаясь к твоему пункту про латентность, я всегда пытаюсь — один AB-тест, или эксперимент, или бенчмарк, или исследование, которое я хотел бы [иметь], — это какова разница в производительности между, скажем, тремя тупыми быстрыми вызовами модели с человеческим выравниванием, потому что человек будет корректировать, человеческое выравнивание — это когда человек смотрит на первый и выдаёт новый промпт.
Shawn Wang [01:19:23]: Для второго. Верно. Окей. В противоположность тому, как ты это специфицируешь, знаешь, ты долго писал, как профи, большой жирный промпт, а потом у тебя есть очень умная модель, которая делает это, верно. Верно. Знаешь, потому что реально ли — нехватка производительности — это проблема того, что ты просто недостаточно хорошо специфицировал? Нет такой вселенной, в которой я могу выдать то, что ты хочешь, потому что ты просто мне не сказал. Верно.
Jeff Dean [01:19:44]: Это недоспецифицировано. Так что я мог бы выдать 10 разных вещей, и только одна из них — та, что ты хотел. Да.
Shawn Wang [01:19:49]: И многоходового взаимодействия с моделью Flash достаточно. Да.
Jeff Dean [01:19:54]: Да, я большой сторонник того, чтобы давить на латентность, потому что, думаю, возможность иметь реально низколатентные взаимодействия с системой, которую ты используешь, просто гораздо приятнее, чем что-то, что, знаешь, в 10 раз медленнее или в 20 раз медленнее. И, думаю, знаешь, в будущем мы увидим модели — и нижележащие софтверные и аппаратные системы — что в 20 раз ниже по латентности, чем то, что у нас есть сегодня, в 50 раз ниже по латентности. И это будет реально-реально важно для систем, которым нужно делать кучу всего между твоими взаимодействиями.
Shawn Wang [01:20:27]: Да. Да. Есть две крайности, верно? И при этом у тебя ещё есть DeepThink, который весь на другой стороне. Верно.
Jeff Dean [01:20:33]: Но ты бы использовал DeepThink всё время, если бы не стоимость и латентность, верно? Если бы ты мог иметь эту возможность в модели, потому что улучшение латентности было бы в 20 раз в нижележащем железе и системе и по стоимости, знаешь, нет причины, почему бы ты этого не хотел.
Shawn Wang [01:20:50]: Да.
Jeff Dean [01:20:52]: Но в то же время тогда у тебя, наверное, была бы модель, которая ещё лучше. Которая заняла бы у тебя в 20 раз дольше, даже на этом новом железе. Да.
Shawn Wang [01:21:00]: Знаешь, кривая Парето всё карабкается вверх. Да, вперёд и вширь, вперёд и вширь. Да. Может, попросим у него прогнозы на прощание? Не знаю, есть ли у тебя какие-то прогнозы, которые ты любишь держать, знаешь, типа — один способ это сделать: у тебя есть свои тесты, которые ты прогоняешь всякий раз, когда выходит новая модель, — что-то, чем ты пока не совсем доволен, но думаешь, что это сделают скоро.
Jeff Dean [01:21:29]: Дай-ка я сделаю два прогноза, которые не совсем в этом духе. Да. Так вот, думаю, персонализированная модель, которая знает тебя, и знает всё твоё состояние, и способна извлекать по всему состоянию, к которому у тебя есть доступ, на которое ты дал согласие, будет невероятно полезной по сравнению с более общей моделью, у которой нет доступа к этому. Например, может ли что-то обращать внимание на всё, что я когда-либо видел? Да. Каждое письмо, каждое фото, каждое. Да. Видео, которое я смотрел, — это будет реально полезно. Думаю, всё больше специализированного железа будет открывать гораздо более низколатентные модели и гораздо более способные модели за доступные цены, чем, скажем, текущий статус-кво. Это тоже будет весьма важно. Да.
Shawn Wang [01:22:16]: Когда ты говоришь «гораздо более низкая латентность», люди обычно говорят в токенах в секунду. Это нормальный термин? Окей. Знаешь, мы сейчас, скажем, на сотне. Теперь можем перейти к тысяче. Имеет ли смысл идти к 10 000? Да. Реально? Окей. Абсолютно. Верно. Да. Из-за цепочки мыслей и рассуждения цепочкой мыслей.
Jeff Dean [01:22:36]: Можно подумать, знаешь, гораздо больше токенов, можно делать гораздо больше параллельных роллаутов. Можно генерировать гораздо больше кода и проверять, что код корректен, с рассуждением цепочкой мыслей. Так что, думаю, знаешь, возможность делать это на 10 000 токенов в секунду была бы потрясающей. Да.
Shawn Wang [01:22:52]: На 10 000 токенов в секунду ты больше не читаешь код. Да. Типа ты просто будешь его генерировать. Ты... я его не читаю.
Jeff Dean [01:22:58]: Ну, помни, в итоге может быть не 10 000 токенов кода. Да. Может быть тысяча токенов кода с 9 000 токенов рассуждения за ними, что на самом деле, наверное, был бы гораздо лучший код для чтения. Да.
Alessio Fanelli [01:23:11]: Да. Если бы у меня было больше времени, я бы написал письмо покороче. Да. Да. Да. Потрясающе. Джефф, это было изумительно. Спасибо, что нашёл время. Спасибо.
Jeff Dean [01:23:20]: Было весело. Спасибо, что пригласили.
Обсуждение этого выпуска