На Хабре иногда рассказывают про выдающихся программистов современности, таких как Линус Торвальдс, Фабрис Беллар и Джефф Дин. Про этих людей ходят легенды. Особенно выделяется последний, которого в шутку сравнивают с Чаком Норрисом.
Шутки про Джеффа Дина дают понимание, насколько легендарной стала эта личность среди разработчиков Google:
«Когда Джефф Дин разрабатывает программу, то сначала создаёт бинарник, а потом пишет исходный код как документацию».
«Джефф Дин однажды не прошёл тест Тьюринга, потому что правильно установил 203-е число Фибоначчи менее чем за секунду».
«Джефф Дин родился 31 декабря 1969 года в 23:48. Ему потребовалось 12 минут, чтобы запустить свой первый счётчик времени».
▍ Предыдущие работы
До прихода в Google Джефф Дин работал в Западной исследовательской лаборатории DEC/Compaq, где занимался разработкой средств профилирования, архитектуры CPU и информационного поиска. Большая часть его работы была выполнена в тесном сотрудничестве с Санджаем Гемаватом, потом они вместе перешли в Google («Дружба, благодаря которой Google вырос до огромных размеров»).
Ещё до аспирантуры Джефф принял участие в Глобальной программе по СПИДу Всемирной организации здравоохранения, разрабатывая ПО для статистического моделирования и прогнозирования пандемии ВИЧ. Его бесплатная программа Epi Info работала в 26 раз быстрее любого профессионального софта для обработки больших объёмов эпидемиологических данных.
«Скорость света в вакууме была около 55 км/ч. Затем Джефф Дин потратил уик-енд на оптимизацию физики».
Легенды о Джеффе Дине
«Джефф Дин не пользуется ни Emacs’ом, ни Vi. Он набирает код непосредственно в zcat, потому что так быстрее».
«Когда Ричард Столлман узнал, что автобиография Дина выйдет эксклюзивно на платформе Amazon, он купил Kindle».
«Недовольный константным временем, Джефф Дин создал первый в мире алгоритм O(1/n)».
«Однажды в 2002 году, когда поисковый бэкенд отключился, Джефф Дин два часа вручную отвечал на вопросы пользователей. В этот период качество поисковой выдачи существенно возросло».
«Джеффу Дину пришлось изобрести асинхронные API однажды, когда после его оптимизации функция вернула значение прежде, чем её вызвали».
«Скорость программирования Джеффа Дина выросла в 40 раз в конце 2000 года, когда он проапгрейдил клавиатуру на USB 2.0».
«Компиляторы не предупреждают Джеффи Дина. Джефф Дин предупреждает компиляторы».
«Джефф Дин однажды написал алгоритм O(n^2). Это нужно было для решения задачи коммивояжёра».
«Джефф Дин однажды поднял веб-сервер одним вызовом printf(). Другие инженеры добавили тысячи строк комментариев с пояснениями, но так и не поняли, как он работает. Сегодня программа работает в качестве фронтенда Google Search».
«Когда Джефф Дин запускает профайлер, все циклы в страхе расцикливаются».
«Джефф Дин всё ещё ждёт, когда математики найдут шутку, которую он спрятал в разрядах числа Пи».
«На клавиатуре Джеффа Дина две клавиши: 1 и 0».
«Команда gcc -O4 отправляет ваш код Джеффу Дину для полной переделки».
«Когда Джефф не может заснуть, он мап-редьюсит овечек».
«Когда Джефф Дин хочет послушать mp3, он отправляет его в /dev/dsp и осуществляет декодирование в голове».
«Когда Грэм Белл изобрёл телефон, то увидел пропущенный вызов от Джеффа Дина».
«Джефф Дин надевает штаны по очереди на каждую ногу, но если бы у него было больше двух ног, то мы бы увидели, что ему требуется O(log n)».
«На собеседовании в Google Джеффа спросили, что следовало бы из равенства P=NP. Он ответил: «P = 0 или N = 1». Затем, пока собеседующий ещё не перестал смеяться, Джефф присмотрелся к публичному сертификату Google и выписал приватный ключ на доску».
«Когда Ричард Столлман узнал, что автобиография Дина выйдет эксклюзивно на платформе Amazon, он купил Kindle».
«Недовольный константным временем, Джефф Дин создал первый в мире алгоритм O(1/n)».
«Однажды в 2002 году, когда поисковый бэкенд отключился, Джефф Дин два часа вручную отвечал на вопросы пользователей. В этот период качество поисковой выдачи существенно возросло».
«Джеффу Дину пришлось изобрести асинхронные API однажды, когда после его оптимизации функция вернула значение прежде, чем её вызвали».
«Скорость программирования Джеффа Дина выросла в 40 раз в конце 2000 года, когда он проапгрейдил клавиатуру на USB 2.0».
«Компиляторы не предупреждают Джеффи Дина. Джефф Дин предупреждает компиляторы».
«Джефф Дин однажды написал алгоритм O(n^2). Это нужно было для решения задачи коммивояжёра».
«Джефф Дин однажды поднял веб-сервер одним вызовом printf(). Другие инженеры добавили тысячи строк комментариев с пояснениями, но так и не поняли, как он работает. Сегодня программа работает в качестве фронтенда Google Search».
«Когда Джефф Дин запускает профайлер, все циклы в страхе расцикливаются».
«Джефф Дин всё ещё ждёт, когда математики найдут шутку, которую он спрятал в разрядах числа Пи».
«На клавиатуре Джеффа Дина две клавиши: 1 и 0».
«Команда gcc -O4 отправляет ваш код Джеффу Дину для полной переделки».
«Когда Джефф не может заснуть, он мап-редьюсит овечек».
«Когда Джефф Дин хочет послушать mp3, он отправляет его в /dev/dsp и осуществляет декодирование в голове».
«Когда Грэм Белл изобрёл телефон, то увидел пропущенный вызов от Джеффа Дина».
«Джефф Дин надевает штаны по очереди на каждую ногу, но если бы у него было больше двух ног, то мы бы увидели, что ему требуется O(log n)».
«На собеседовании в Google Джеффа спросили, что следовало бы из равенства P=NP. Он ответил: «P = 0 или N = 1». Затем, пока собеседующий ещё не перестал смеяться, Джефф присмотрелся к публичному сертификату Google и выписал приватный ключ на доску».
Дина приняли в штат Google в 1999 г., когда там числилось около 20 сотрудников. Уже тогда он считался одним из самых талантливых молодых учёных в США в области информатики, а для Google был сродни выигрышу в лотерею. С тех пор он разработал и внедрил значительную часть систем рекламы, поиска, индексации и обслуживания запросов, а также различные элементы распределённой инфраструктуры, которые лежат в основе большинства продуктов Google. То есть по сути он выполнил роль «технологического движка», на котором основаны сервисы Google.
Вот его официальная биография со ссылками на лучшие лекции и публичные выступления. Отметим только один интересный факт: за свою карьеру Джеффу пришлось пожить в десятке разных городов и стран, а одна из его целей по жизни — поиграть в футбол и баскетбол на всех континентах (пока что он сделал это только на пяти).
Среди проектов, к которым он приложил руку:
- Spanner — масштабируемая, многоверсионная, глобально распределённая и синхронно реплицируемая база данных. БД распределена по множеству дата-центров Google на разных континентах, при этом обеспечивая целостность и синхронизацию данных.
- Проектирование части бэкенда системы машинного перевода Google Translate.
- Крупномасштабная система полуструктурированного хранения данных Bigtable.
- Система для крупномасштабных приложений обработки данных MapReduce.
- Опенсорсное NoSQL-хранилище «ключ-значение» LevelDB.
- DistBelief — проприетарная система машинного обучения для глубоких нейросетей, впоследствии рефакторизованная в TensorFlow.
- TensorFlow — опенсорсная библиотека машинного обучения
▍ Нынешние проекты
Как и некоторые другие талантливые программисты современности, Джефф Дин отдался главной задаче, которая стоит перед человечеством — разработке сильного ИИ и методов машинного обучения (напомним, что над этой проблемой также работает Джон Кармак).
В апреле 2018 года Дина сняли с инфраструктурных проектов и назначили на новый фронтир — руководителем подразделения искусственного интеллекта Google AI, сформированного тогда из разных ИИ-проектов Google Research. Уже в то время Google вела многочисленные перспективные разработки по компьютерному зрению, в области медицины и инновационного обучения нейросетей (AutoML).
Мозг сапиенса появился в ходе эволюции со случайными мутациями из относительно простого мозга червяка примерно за 500 млн лет. Система AutoML тоже применяет в обучении нейросетей эволюционный подход со случайными мутациями
Эффективность эволюционного подхода обычно выше, чем у стандартного обучения с подкреплением
С 2023 года после слияния подразделения Google Brain (часть Google Research) с приобретённой компанией DeepMind Джефф Дин официально стал Chief Scientist в Google DeepMind и Google Research, с подчинением напрямую исполнительному директору Сундару Пичаи, и больше никому.
Компания Google примерно с 2016 года считалась мировым лидером в области разработок ИИ. Именно тогда вышла новая версия Google Translate. Если раньше это была система статистического машинного перевода, то версия от 2016 года была основана на более продвинутом подходе нейронного машинного перевода. Стало окончательно ясно, что за нейросетями — будущее, а компания Google поняла это чуть ли не раньше всех.
В 2014 году она купила компанию DeepMind с десятками лучших в мире специалистов по машинному обучению, которые неоднократно с завидной регулярностью публиковали революционные научные статьи и попадали на первые обложки журналов. Несмотря на отчаянные просьбы учёных оставить их в покое и сделать на базе DeepMind некоммерческое подразделение, которое своими важными научными открытиями будет приносить пользу всему миру, компания Google поступила иначе, инкорпорировав их в свою структуру, требуя выйти на прибыль. Есть мнение, что такое давление Google на DeepMind стало одной из причин создания альтернативной некоммерческой лаборатории OpenAI в 2015 году, хотя это тема для отдельного разговора… Вполне вероятно, что туда перешли многие специалисты DeepMind после покупки корпорацией Google.
Известные изобретения Google (и DeepMind) в сфере машинного обучения — AlphaGo, трансформеры (на которых основаны современные большие языковые модели), word2vec, WaveNet, AlphaFold, модели seq2seq, дистилляция данных, глубокое обучение с подкреплением. Компания разработала и выложила во всеобщее пользование распределённые системы и программные фреймворки, такие как TensorFlow и JAX, для программирования, обучения и развёртывания крупномасштабных моделей машинного обучения. Она заложила крепкий фундамент для дальнейшего развития этой отрасли.
В последнее время позиции Google на этом рынке немного пошатнулись в связи с хайповым релизом GPT-3.5/4 от OpenAI и LLaMA от Meta. Но вполне возможно, что это временное явление. Google давно работает в данном направлении и сконцентрировала мощный интеллектуальный потенциал, так что наверняка покажет что-то выдающееся в ближайшие годы. И Джефф Дин будет к этому причастен…
Среди текущих проектов Google DeepMind и Google Research:
-
PaLM 2 — большая языковая модель следующего поколения. Есть PALM API для интеграции ИИ в сторонние продукты (по предварительной записи) и конструктор MakerSuite для прототипирования ИИ-приложений без программирования (с интеграцией в PALM API), здесь тоже запись в список ожидания.
-
Bard — чат-бот на базе PaLM 2 для ответов на вопросы и информационной помощи людям. В ближайшее время к нему подключат огромный массив информации Data Commons, недоступный для других LLM, так что он станет работать гораздо лучше.
-
Med-PaLM 2, специализированная LLM медицинского применения (помощь при диагностировании болезней, справочная информация). Это первый ИИ, который прошёл экзамен на лицензию врача US Medical License Exam (USMLE), а вторая версия LLM показывает результат 86,5% в этом тесте (проходной балл для людей около 60%).
Sec-PaLM, как ранее упомянутые Med-PaLM 2 и Bard, она построена на PaLM 2.
- Система Alphafold, которая в последней версии предсказывает форму протеина с атомной точностью за несколько минут, что даёт возможность понять свойства и характеристики вещества. Сегодня на Земле обнаружено около 249 млн протеинов. Многие до сих пор не изучены. Кроме того, фолдинг виртуальных протеинов с помощью модели ИИ позволяет конструировать новые молекулы с желаемыми свойствами (см. статью «Оптимизация нейросети на максимальный вред человеку. Первый эксперимент»).
-
Universal Translator — экспериментальный сервис дублирования видео с помощью ИИ, который помогает переводить голос диктора с изменением движения губ. Исходное видео слегка редактируется, чтобы движение губ совпадало с новыми словами на другом языке. По сути, можно реалистично наложить любые слова на видеоряд, что очень полезно для перевода фильмов или научных лекций.
-
Codey — инструмент ИИ для генерации и автодополнения программного кода (вероятно, будет интегрирован в вышеупомянутый MakerSuite).
-
NotebookLM — программа для генерации приватных моделей ИИ на основе пользовательских документов (на PaLM 2).
-
Pic2Word — текстовое описание изображений с последующим добавлением текстового ввода от пользователя для создания новых картинок.
- Фреймворк CodeVQA для генерации кода Python, который отвечает на текстовые вопросы пользователя.
-
MusicLM — сочинение музыки по текстовому описанию.
- Perspective API — оценка токсичности текста.
В общем, интересных проектов хватает. Список научных статей исследователей из Google на крупнейшей конференции по машинному обучению ICML 2023 насчитывает несколько десятков работ.
В данный момент крупные IT-корпорации с десятками дата-центров, лучшие программисты и учёные прикладывают силы к решению важнейшей задачи — созданию ИИ общего назначения, то есть AGI. Над ним работают в том числе Джон Кармак и Джефф Дин, среди прочих выдающихся умов. Это даёт надежду, что движение идёт в правильном направлении, а результат не замедлит себя ждать.
Субъективное примечание. В 2023 году мы словно переместились на первую минуту симулятора развития человечества после ИИ. Действие этой игры как раз начинается в 2022 году, где появился GPT 3.5 на IQ 70. С каждым годом мы его дорабатываем, добавляем серверов, GPU — и спустя десятилетия это даёт эффект.
Выдающиеся программисты 21 века. Предыдущие статьи серии
Telegram-канал с розыгрышами призов, новостями IT и постами о ретроиграх ????️
onyxmaster
А как бы нам вместо слова «протеин» использовать «белок»?
t13s
Чтобы что?
onyxmaster
Чтобы использовать слово, которое уже есть, вместо заимствования ещё одного слова, которое имеет точно такое же значение. Я, если что, не славянофил, просто "протеин" звучит как "вам послайсить или писом возьмёте" из того анекдота.
Нутриенты давайте ещё возьмём, как сейчас модно, карбогидраты...
Hardcoin
Слово "протеин" уже есть.
onyxmaster
Ну и если брать разговорный язык, то "протеин" это БАД, который используют для набора мышечной массы и пытаются рекомендовать для ускорения восстановления хрящей при различного рода воспалениях и травмах суставов.
sappience
Я вам по секрету скажу, что слово это заимствованно в русский язык давно. Больше полутора сотен лет назад. И это не БАД. https://dic.academic.ru/dic.nsf/dic_fwords/29507/ПРОТЕИН
onyxmaster
Слово "разговорный" в моём сообщении вы конечно решили проигнорировать, в то время как для указанного мной определения это ключевой фактор.
Источники у вас, кстати, как на подбор, словарь галлицизмов, словарь Даля, словари иностранных слов начала прошлого и конца позапрошлого века, и прочие весьма специфические источники. Простите, но ни один из них мне не кажется авторитетным. Предлагаете обратиться к ним, чтобы уточнить, являются ли сейчас актуальными слова "лагиза", "фардун" и "шакать"? Все есть в словаре Даля! Пользуйтесь на здоровье в современных статьях!
Ни разу не слышал от врача слова "протеин" вместо "белок" (исключая специфические применения типа "протеин C" или "липопротеин"), в то же время в статье идёт речь именно о белках.
sappience
https://cyberleninka.ru/search?q=протеин Выбирайте фильтр "Клиническая медицина" и будет вам слово "протеин" от врачей. Вас ждет еще много чудесных открытий.
klirichek
Лучше протеин, чем institute of squirrel
br0x
"Протеины" - не более, чем профессиональный жаргон. Понять и простить