Сейчас будет реклама, текст которой я написала сама. Это реклама самого крупного в России и Европе сервиса подбора и и видео-консультаций с психологами "Ясно"
#промо
Я в личной терапии уже 3.5 года. И с полной уверенностью могу сказать, что терапия — это лучшее, что я сделала для себя в этой жизни. За годы терапии я сильно выросла эмоционально, научилась лучше коммуницировать с людьми и справляться с самыми сложными ситуациями в жизни. Я стала лучше понимать себя и что я хочу от жизни.
Еще терапия очень помогла мне не поехать кукухой в событиях последних лет. А сейчас я наблюдаю, как терапия помогает не поехать кукухой людям в моем окружении. Два близких мне человека за последние полгода говорили фразу "терапия — это очень хорошо".
Я очень рада, что тема психологов и терапии становится все более нормальной в нашем обществе. Терапия — это действительно прекрасный инструмент помощи в сложных ситуациях и работы над собой. Точно готова ее рекомендовать.
Но для того, чтобы сессии с психологом были действительно полезными, важно найти грамотного специалиста под ваш запрос. Такой специалист никому ничего не навязывает и не стремится как-то на вас повлиять. Он помогает вам самим разобраться с собой и выработать свои механизмы, свое решение вашей ситуации.
В "Ясно" строгий отбор психологов: все терапевты имеют высшее образование и регулярные супервизии. К тому же, сам сервис был основан психологами. В общем, на треш не нарветесь. А если что-то пойдёт не так, вы всегда можете обратиться в службу поддержки, где работают люди с психологическим образованием.
Вот еще несколько поинтов про терапию и "Ясно":
- в терапию можно прийти с любым запросом. Будь то тревожность, выгорание, проблемы в работе, поиск себя или личные отношения. Или даже какая-то точечная сложная ситуация. В "Ясно" вам предложат на выбор несколько специалистов именно под ваш запрос на основе подробной анкеты.
- иногда подходящий именно вам специалист находится не с первого раза. Это нормально. Я сменила трех, пока нашла своего. Но это стоило того на все сто. В Ясно это понимают, поэтому специалиста можно поменять нажатием одной кнопки в личном кабинете.
- иногда результат терапии ощущается уже после первых нескольких сессий. А иногда для этого требуется больше времени. Все зависит от запроса и вашей психики. Мой совет — дайте процессу время. Я пришла к мысли "психотерапия — лучшее, что со мной случилось" далеко не сразу.
В общем, попробовать точно стоит. Чтобы начать было легче, Ясно дают всем читателям моего канала скидку 20% на первую сессию при регистрации по промокоду DLSTORIES.
Записаться в Ясно
Реклама. ООО "Ясно. Лайв", ОГРН 1217700387442, ИНН 9703044223
erid: Kra23uuPh
#промо
Я в личной терапии уже 3.5 года. И с полной уверенностью могу сказать, что терапия — это лучшее, что я сделала для себя в этой жизни. За годы терапии я сильно выросла эмоционально, научилась лучше коммуницировать с людьми и справляться с самыми сложными ситуациями в жизни. Я стала лучше понимать себя и что я хочу от жизни.
Еще терапия очень помогла мне не поехать кукухой в событиях последних лет. А сейчас я наблюдаю, как терапия помогает не поехать кукухой людям в моем окружении. Два близких мне человека за последние полгода говорили фразу "терапия — это очень хорошо".
Я очень рада, что тема психологов и терапии становится все более нормальной в нашем обществе. Терапия — это действительно прекрасный инструмент помощи в сложных ситуациях и работы над собой. Точно готова ее рекомендовать.
Но для того, чтобы сессии с психологом были действительно полезными, важно найти грамотного специалиста под ваш запрос. Такой специалист никому ничего не навязывает и не стремится как-то на вас повлиять. Он помогает вам самим разобраться с собой и выработать свои механизмы, свое решение вашей ситуации.
В "Ясно" строгий отбор психологов: все терапевты имеют высшее образование и регулярные супервизии. К тому же, сам сервис был основан психологами. В общем, на треш не нарветесь. А если что-то пойдёт не так, вы всегда можете обратиться в службу поддержки, где работают люди с психологическим образованием.
Вот еще несколько поинтов про терапию и "Ясно":
- в терапию можно прийти с любым запросом. Будь то тревожность, выгорание, проблемы в работе, поиск себя или личные отношения. Или даже какая-то точечная сложная ситуация. В "Ясно" вам предложат на выбор несколько специалистов именно под ваш запрос на основе подробной анкеты.
- иногда подходящий именно вам специалист находится не с первого раза. Это нормально. Я сменила трех, пока нашла своего. Но это стоило того на все сто. В Ясно это понимают, поэтому специалиста можно поменять нажатием одной кнопки в личном кабинете.
- иногда результат терапии ощущается уже после первых нескольких сессий. А иногда для этого требуется больше времени. Все зависит от запроса и вашей психики. Мой совет — дайте процессу время. Я пришла к мысли "психотерапия — лучшее, что со мной случилось" далеко не сразу.
В общем, попробовать точно стоит. Чтобы начать было легче, Ясно дают всем читателям моего канала скидку 20% на первую сессию при регистрации по промокоду DLSTORIES.
Записаться в Ясно
Реклама. ООО "Ясно. Лайв", ОГРН 1217700387442, ИНН 9703044223
erid: Kra23uuPh
Пока я закопалась в написании отчета по PhD (🫠), у Миши вышла вторая часть подкаста со мной (первая была тут, если что).
#podcast
В этой части две большие темы:
- чем я занимаюсь в своей научной работе по PhD;
- всякие рассуждения о будущем AI и вымрем ли мы все.
Слушать тут
#podcast
В этой части две большие темы:
- чем я занимаюсь в своей научной работе по PhD;
- всякие рассуждения о будущем AI и вымрем ли мы все.
Слушать тут
CoCa: Contrastive Captioners are Image-Text Foundation Models (by Google Research)
#paper
Такая изящная идея, что удивительно, почему никто не додумался до нее раньше.
Что предлагают:
Берем обычный CLIP. Напомню, что он состоит из двух энкодеров — для текста и картинок. Добавляем к нему еще одну часть: модель, которая принимает на вход эмбеддинг текста и эмбеддинг картинки из CLIP, и учится генерировать тот же самый текст, эмбеддинг которого был подан на вход (см. картинку к посту). Назовем эту часть text decoder. И теперь обучаем всю модель целиком (т.е. все три части) с помощью двух лоссов: стандартный contrastive loss от CLIP и кросс-энтропия между сгенерированным текстом и изначальным (а-ля лосс из задачи image captioning). При обучении эти лоссы просто суммируем.
В чем тут смысл:
Смотрите, чтобы модель могла сгенерировать правильный текст по входящим эмбеддингам, нужно, чтобы в этих самых эмбеддингах содержалась нужная для этого информация. Это заставляет энкодеры CLIP'а выучивать более информативные, содержательные эмбеддинги картинки и текста, чем в стандартном сеттинге обучения CLIP.
Это подтверждается экспериментами: на ImageNet фичи CoCa достигают 0.86 top-1 accuracy в zero-shot режиме (без никакого дообучения), а с supervised дообучением на трейн сете – 0.910 accuracy, что есть новая SOTA.
Кроме ImageNet'а авторы провели эксперименты еще на куче даатсетов и заадчах, где CoCa тоже показывает отличные результаты.
Еще плюшка метода: CoCa можно легко дообучить на Image Captioning. Выкидываем текстовый энкодер, и дообучаем энкодер картинок + text decoder на датасете для задачи captioning. Снова получаем новую SOTA и уверенно бьем vanilla CLIP/BLIP.
📄Статья
Инфу о статье нашла тут.
#paper
Такая изящная идея, что удивительно, почему никто не додумался до нее раньше.
Что предлагают:
Берем обычный CLIP. Напомню, что он состоит из двух энкодеров — для текста и картинок. Добавляем к нему еще одну часть: модель, которая принимает на вход эмбеддинг текста и эмбеддинг картинки из CLIP, и учится генерировать тот же самый текст, эмбеддинг которого был подан на вход (см. картинку к посту). Назовем эту часть text decoder. И теперь обучаем всю модель целиком (т.е. все три части) с помощью двух лоссов: стандартный contrastive loss от CLIP и кросс-энтропия между сгенерированным текстом и изначальным (а-ля лосс из задачи image captioning). При обучении эти лоссы просто суммируем.
В чем тут смысл:
Смотрите, чтобы модель могла сгенерировать правильный текст по входящим эмбеддингам, нужно, чтобы в этих самых эмбеддингах содержалась нужная для этого информация. Это заставляет энкодеры CLIP'а выучивать более информативные, содержательные эмбеддинги картинки и текста, чем в стандартном сеттинге обучения CLIP.
Это подтверждается экспериментами: на ImageNet фичи CoCa достигают 0.86 top-1 accuracy в zero-shot режиме (без никакого дообучения), а с supervised дообучением на трейн сете – 0.910 accuracy, что есть новая SOTA.
Кроме ImageNet'а авторы провели эксперименты еще на куче даатсетов и заадчах, где CoCa тоже показывает отличные результаты.
Еще плюшка метода: CoCa можно легко дообучить на Image Captioning. Выкидываем текстовый энкодер, и дообучаем энкодер картинок + text decoder на датасете для задачи captioning. Снова получаем новую SOTA и уверенно бьем vanilla CLIP/BLIP.
📄Статья
Инфу о статье нашла тут.
В этом посте хочу порассуждать на вот какую тему. Пару раз случалась такая ситуация: разбираю я в канале какую-то статью, которая использует новую интересную идею для решения задачи Х, но при этом до SOTA не дотягивает. И в комментариях иногда пишут: "ой ну это фуфло, вон модель Y эту задачу X намного лучше решает, метрики больше и все ей пользуются".
Меня каждый раз очень удивляют подобные комментарии. Ценность научных работ совсем не всегда заключается в том, чтобы побить SOTA. Подобные работы круты тем, что они предложили абсолютно новый взгляд на проблему, новое решение, которое тоже неплохо работает. Возможно, кто-то прочитает эту статью, вдохновится и придумает ее улучшение, которое уже побьет эту самую SOTA. Или окажется более обобщаемым. Или просто поможет исследователям посмотреть на проблему с новой стороны и придумать еще один, совершенно новый подход к решению этой задачи.
К такой ситуации есть хороший пример: машинный перевод. Сейчас все понимают, что эта задача решается нейросетями, внутри Google translate сидят крутятся нейронки. Но так было не всегда: до примерно 2015 года с этой задачей лучше справлялись phrase-based подходы, и в продакшене крутились именно они. И был огромный пласт людей, которые в нейронки в переводе совсем не верили, и продолжали улучшать phrase-based системы, хихикая над теми, кто пытался готовить нейронки.
Да и в vision домене ситуация была та же: до 2012 года много кто не верил, что нейронки смогут даже в классификацию картинок. На того же ЛеКуна косо смотрели, когда он начал продвигать свои CNN. А когда-то еще раньше смеялись над теми, что вообще начинал смотреть в сторону нейросетей.
Короче, если что-то пока работает плохо, это не значит, что оно фуфло и это надо выкинуть. Это надо сначала исследовать.
Еще я замечала в каком-то смысле "обратное" явление, когда люди быстро готовы выкинуть в окно старую технологию, когда появилась новая. Например, сейчас многие не хотят смотреть в сторону CNN, потому что есть трансформеры. Хотя CNN и трансформеры — это две совсем разные архитектуры, каждая со своими достоинствами и недостатками. И во многих моделях можно использовать их обе. В той же Stable Diffusion есть и свертки, и трансформеры.
К этому у меня есть такая история: в нашей школе DLSchool в конце семестра студенты делают проекты. Тему проекта можно выбрать из нескольких разных. Я несколько лет подряд курировала проект про автоэнкодеры. В нем студентам нужно было самостоятельно разобраться с устройством vanilla AE, VAE и Conditional VAE, написать код и поставить несколько экспериментов. И года 4 назад ко мне в личку приходили студенты со словами: "Здравствуйте. Думаю взять ваш проект, но меня смущает то, что автоэнкодеры же как бы устарели. Для генерации картинок теперь есть GAN. Зачем тогда AE?"
А посмотрите, что мы имеем сейчас. Часть Stable Diffusion — VQ-VAE. Или вспомним MAE, который положил начало развитию подходов masked image modeling. Или, например, новые подходы к нейросетевому сжатию изображений, многие из которых основаны на автоэнкодерах.
В общем, не спешите закапывать старое, если придумали что-то новое, которое в чем-то лучше этого старого. Оно вам обязательно пригодится. Особенно если это не узкоспециализированная модель, а такая базовая штука, как AE.
Ну и главная мысль поста такая: в науке нужно стараться быть максимально открытым к новому и не позволять себе думать, что ты уже все в своей области понимаешь и знаешь, что и как будет работать. А еще важно развивать в себе умение смотреть на проблему под разными углами.
Меня каждый раз очень удивляют подобные комментарии. Ценность научных работ совсем не всегда заключается в том, чтобы побить SOTA. Подобные работы круты тем, что они предложили абсолютно новый взгляд на проблему, новое решение, которое тоже неплохо работает. Возможно, кто-то прочитает эту статью, вдохновится и придумает ее улучшение, которое уже побьет эту самую SOTA. Или окажется более обобщаемым. Или просто поможет исследователям посмотреть на проблему с новой стороны и придумать еще один, совершенно новый подход к решению этой задачи.
К такой ситуации есть хороший пример: машинный перевод. Сейчас все понимают, что эта задача решается нейросетями, внутри Google translate сидят крутятся нейронки. Но так было не всегда: до примерно 2015 года с этой задачей лучше справлялись phrase-based подходы, и в продакшене крутились именно они. И был огромный пласт людей, которые в нейронки в переводе совсем не верили, и продолжали улучшать phrase-based системы, хихикая над теми, кто пытался готовить нейронки.
Да и в vision домене ситуация была та же: до 2012 года много кто не верил, что нейронки смогут даже в классификацию картинок. На того же ЛеКуна косо смотрели, когда он начал продвигать свои CNN. А когда-то еще раньше смеялись над теми, что вообще начинал смотреть в сторону нейросетей.
Короче, если что-то пока работает плохо, это не значит, что оно фуфло и это надо выкинуть. Это надо сначала исследовать.
Еще я замечала в каком-то смысле "обратное" явление, когда люди быстро готовы выкинуть в окно старую технологию, когда появилась новая. Например, сейчас многие не хотят смотреть в сторону CNN, потому что есть трансформеры. Хотя CNN и трансформеры — это две совсем разные архитектуры, каждая со своими достоинствами и недостатками. И во многих моделях можно использовать их обе. В той же Stable Diffusion есть и свертки, и трансформеры.
К этому у меня есть такая история: в нашей школе DLSchool в конце семестра студенты делают проекты. Тему проекта можно выбрать из нескольких разных. Я несколько лет подряд курировала проект про автоэнкодеры. В нем студентам нужно было самостоятельно разобраться с устройством vanilla AE, VAE и Conditional VAE, написать код и поставить несколько экспериментов. И года 4 назад ко мне в личку приходили студенты со словами: "Здравствуйте. Думаю взять ваш проект, но меня смущает то, что автоэнкодеры же как бы устарели. Для генерации картинок теперь есть GAN. Зачем тогда AE?"
А посмотрите, что мы имеем сейчас. Часть Stable Diffusion — VQ-VAE. Или вспомним MAE, который положил начало развитию подходов masked image modeling. Или, например, новые подходы к нейросетевому сжатию изображений, многие из которых основаны на автоэнкодерах.
В общем, не спешите закапывать старое, если придумали что-то новое, которое в чем-то лучше этого старого. Оно вам обязательно пригодится. Особенно если это не узкоспециализированная модель, а такая базовая штука, как AE.
Ну и главная мысль поста такая: в науке нужно стараться быть максимально открытым к новому и не позволять себе думать, что ты уже все в своей области понимаешь и знаешь, что и как будет работать. А еще важно развивать в себе умение смотреть на проблему под разными углами.
Попросили рассказать про НейроSet: это конференция по нейросетям и AI, где будут доклады на темы CV/NLP/генеративок.
Месяца два назад мне написал организатор этой конференции и пригласил на ней выступить. Выступать я отказалась (мне бы с текущими делами разобраться), но рассказать о ней в канале согласилась, потому что доклады должны быть хорошие.
Я бы выделила вот эти:
- Parameter-Efficient Fine-Tuning: тюнинг больших языковых моделей сейчас и завтра от Владислава Лялина, PhD в University of Massachussets Lowell, автора канала DL in NLP. Обещает рассказать о том, какие эффективные техники существуют для (до)обучения больших языковых моделей. Будет хорошим дополнением к секции RLHF датафеста;
- Другие приложения генеративных моделей от моего бывшего коллеги по лабе в Вышке Михаила Гущина. Миша расскажет про неочевидные применения генеративных моделей — в астрономии, физике высоких энергий и для прогноза поведения систем. Для справки — лаба, где работает Миша, занимается ML в физике высоких энергий и сотрудничает с CERN;
- Коэволюция когнитивных процессов и жизни от Ивана Хватова из Московского института психоанализа. Тут обещают рассказать о том, когда и для чего возникли базовые познавательные процессы (ощущение и восприятие) и как затем появлялись более сложные когнитивные феномены – память, внимание и мышление. Вот этот доклад послушала бы сама.
Подробная программа тут
Конференция будет 14 июля с 10 до 19 МСК.
Стоит 670р (да, знаю), и мне еще выдали промокод DLSTORIES на скидку 20%.
Месяца два назад мне написал организатор этой конференции и пригласил на ней выступить. Выступать я отказалась (мне бы с текущими делами разобраться), но рассказать о ней в канале согласилась, потому что доклады должны быть хорошие.
Я бы выделила вот эти:
- Parameter-Efficient Fine-Tuning: тюнинг больших языковых моделей сейчас и завтра от Владислава Лялина, PhD в University of Massachussets Lowell, автора канала DL in NLP. Обещает рассказать о том, какие эффективные техники существуют для (до)обучения больших языковых моделей. Будет хорошим дополнением к секции RLHF датафеста;
- Другие приложения генеративных моделей от моего бывшего коллеги по лабе в Вышке Михаила Гущина. Миша расскажет про неочевидные применения генеративных моделей — в астрономии, физике высоких энергий и для прогноза поведения систем. Для справки — лаба, где работает Миша, занимается ML в физике высоких энергий и сотрудничает с CERN;
- Коэволюция когнитивных процессов и жизни от Ивана Хватова из Московского института психоанализа. Тут обещают рассказать о том, когда и для чего возникли базовые познавательные процессы (ощущение и восприятие) и как затем появлялись более сложные когнитивные феномены – память, внимание и мышление. Вот этот доклад послушала бы сама.
Подробная программа тут
Конференция будет 14 июля с 10 до 19 МСК.
Стоит 670р (да, знаю), и мне еще выдали промокод DLSTORIES на скидку 20%.
Если уж и проходить курс по промпт-инженирингу ChatGPT, то только такой:
Курс ChatGPT Prompt Engineering for Developers от DeepLearning.Ai в коллаборации с OpenAI. Преподаватели — сам Эндрю Ын и Isa Fulford (Member of Technical Staff, OpenAI).
#learning
Это небольшой (9 занятий) курс о том, как эффективно общаться с ChatGPT так, чтобы получить максимально точный, полный и удобный (в нужном формате) ответ на ваш запрос. Курс практический: каждое занятие — скринкаст jupyter notebook с кодом составления промпта, запроса к API и получения результата. Рядом со скринкастом открывается интерактивный jupyter, где вы сами можете запускать код занатия и изменять его.
Пока что курс бесплатный. Пишут, что станет платным, когда обучающая платформа DeepLearning.AI выйдет из beta. Когда это произойдет, я не знаю.
Я курс еще не проходила, но Юра Кашницкий (автор New Yorko Times) уже прошел и поделился тем, что в курсе хорошо, а чего не хватило.
Но даже если в курсе чего-то не хватает, у курса есть community, где с другими участниками можно обсуждать темы промпт-инжениринга. Ссылка на комьюнити появится в списке уроков после записи на курс. Имхо если комьюнити будет живое, то это будет просто кладезь постоянно обновляющейся инфы про работу с ChatGPT.
Ссылка на курс
Курс ChatGPT Prompt Engineering for Developers от DeepLearning.Ai в коллаборации с OpenAI. Преподаватели — сам Эндрю Ын и Isa Fulford (Member of Technical Staff, OpenAI).
#learning
Это небольшой (9 занятий) курс о том, как эффективно общаться с ChatGPT так, чтобы получить максимально точный, полный и удобный (в нужном формате) ответ на ваш запрос. Курс практический: каждое занятие — скринкаст jupyter notebook с кодом составления промпта, запроса к API и получения результата. Рядом со скринкастом открывается интерактивный jupyter, где вы сами можете запускать код занатия и изменять его.
Пока что курс бесплатный. Пишут, что станет платным, когда обучающая платформа DeepLearning.AI выйдет из beta. Когда это произойдет, я не знаю.
Я курс еще не проходила, но Юра Кашницкий (автор New Yorko Times) уже прошел и поделился тем, что в курсе хорошо, а чего не хватило.
Но даже если в курсе чего-то не хватает, у курса есть community, где с другими участниками можно обсуждать темы промпт-инжениринга. Ссылка на комьюнити появится в списке уроков после записи на курс. Имхо если комьюнити будет живое, то это будет просто кладезь постоянно обновляющейся инфы про работу с ChatGPT.
Ссылка на курс
В комментариях тут пришел запрос написать пост о моем PhD. О том, как поступать, как учиться, какие PhD бывают и все такое.
Если честно, я не считаю себя экспертом по миру PhD, поэтому если и напишу пост, то чисто о своем опыте. Еще есть мысль собрать несколько человек с опытом PhD в разных странах и сделать набор постов/статью/подкаст. Но это не прямо в ближайшем будущем. И пока ничего этого нет, у меня для вас есть вот какая штука:
В феврале этого года я проводила открытую лекцию для онлайн-магистратуры ВШЭ на тему отличий ML/AI research в индустрии и академии. В этой теме, разумеется, я себя тоже экспертом не считаю, поэтому при подготовке лекции консультировалась у своего научника, у Александра Петюшко, а также спрашивала вопросы на ШАДовской встрече с Максимом Пановым.
На основе лекции я планировала написать статью на Хабр. Вообще я все еще планирую, но реализация подобных хотелок часто идет медленно. Поэтому пока я этого не сделала, держите запись моего выступления и слайды к нему. Если у вас найдутся комментарии/критика к лекции, welcome в комментарии (учту при написании статьи)
Какие темы там затронуты:
- Отличия ML Engineer / ML Scientist / ML Researcher;
- Чем ML/DL research в индустрии отличается от академии;
- Как устроен карьерный путь в академии (UK/USA);
- На что обращать внимание при выборе дальнейшего пути;
- Пара слов о том, как искать PhD, если вы выбрали этот путь.
Также на слайде номер 40 есть несколько полезных ссылок по теме PhD в ML/AI.
📽 Запись лекции
📄Презентация
Если честно, я не считаю себя экспертом по миру PhD, поэтому если и напишу пост, то чисто о своем опыте. Еще есть мысль собрать несколько человек с опытом PhD в разных странах и сделать набор постов/статью/подкаст. Но это не прямо в ближайшем будущем. И пока ничего этого нет, у меня для вас есть вот какая штука:
В феврале этого года я проводила открытую лекцию для онлайн-магистратуры ВШЭ на тему отличий ML/AI research в индустрии и академии. В этой теме, разумеется, я себя тоже экспертом не считаю, поэтому при подготовке лекции консультировалась у своего научника, у Александра Петюшко, а также спрашивала вопросы на ШАДовской встрече с Максимом Пановым.
На основе лекции я планировала написать статью на Хабр. Вообще я все еще планирую, но реализация подобных хотелок часто идет медленно. Поэтому пока я этого не сделала, держите запись моего выступления и слайды к нему. Если у вас найдутся комментарии/критика к лекции, welcome в комментарии (учту при написании статьи)
Какие темы там затронуты:
- Отличия ML Engineer / ML Scientist / ML Researcher;
- Чем ML/DL research в индустрии отличается от академии;
- Как устроен карьерный путь в академии (UK/USA);
- На что обращать внимание при выборе дальнейшего пути;
- Пара слов о том, как искать PhD, если вы выбрали этот путь.
Также на слайде номер 40 есть несколько полезных ссылок по теме PhD в ML/AI.
📽 Запись лекции
📄Презентация
Помните, писала пост про предложение нового вида теста Тьюринга? Tl;dr там такой: давайте сравнивать поведение машины с поведением разных животных. Если машина неотличима по поведению от кошки, она прошла тест Тьюринга уровня "кошка". Ну и так для разных животных от червяка до человека.
А вот тут Мустафа Сулейман (co-founder and CEO of Inflection AI, в прошлом co-founder of DeepMind) предлагает еще один вариант. Он говорит вот что: давайте смотреть не на то, насколько модель "умна в целом", а на то, "что осмысленного модель может сделать".
#ai_inside
Например, давайте попросим модель "заработать миллион долларов на онлайн-платформе для ритейла с начальной инвестицией в 100k долларов". Чтобы решить такую задачу, модели нужно не только расписать план действий (как может сделать GPT-4), а сделать кучу связанных действий: придумать продукты для продажи, общаться с производителями и поставщиками, вести переговоры о контрактах и продумывать маркетинг.
Сулейман называет AI, который мог бы решать подобные задачи, “Artificial Capable Intelligence” (AСI). По его мнению, ACI — это промежуточная версия между слабым AI и AGI. А еще Сулейман верит, что ACI может быть достигнут уже через пару-тройку лет, и вот тогда это окажет огромное влияние на экономику. Мы перейдем от фазы "AI полезен в решении каких-то задач" в фазу "AI — центральная составляющая мировой экономики".
Мои мысли по этому поводу:
- Это немного похоже на предложение нового теста Тьюринга из поста выше. Похоже тем, что и тут, и там от модели начиает требоваться не только возможность общаться, но и возможность взаимодействовать с миром. Кажется, это требование — логичный шаг в эволюции наших ожиданий от AI;
- Не совсем понятно, как в таком сеттинге сравнивать между собой модели для разных задач. Возможно, это и не предусматривается, но тогда это похоже на обычный бенчмарк в RL-сеттинге, а не на тест Тьюринга. Просто задача чуть посложнее, чем классификация картинок ImageNet или игры Atari;
- Не очень понятно, как тестировать такие модели, если их тест предуматривает реальное взаимодействие с миром с живыми людьми. В примере выше модели нужно заработать миллион долларов, распоряжаясь реальными деньгами, создавая и продавая реальные товары реальным людям, в процессе коммуницируя с кучей людей. Кажется, тестирование модели будут тратить довольно много человеческого времени и денег.
Возможно, ответы на эти вопросы есть в книге Мустафы Сулеймана "The Coming Wave: Technology, Power and the Twenty-First Century's Greatest Dilemma". Интересно будет почитать (она выходит 5 сентября)
А пока подробнее почитать об идее нового теста Тьюринга можно в статье MIT Tech Review
А вот тут Мустафа Сулейман (co-founder and CEO of Inflection AI, в прошлом co-founder of DeepMind) предлагает еще один вариант. Он говорит вот что: давайте смотреть не на то, насколько модель "умна в целом", а на то, "что осмысленного модель может сделать".
#ai_inside
Например, давайте попросим модель "заработать миллион долларов на онлайн-платформе для ритейла с начальной инвестицией в 100k долларов". Чтобы решить такую задачу, модели нужно не только расписать план действий (как может сделать GPT-4), а сделать кучу связанных действий: придумать продукты для продажи, общаться с производителями и поставщиками, вести переговоры о контрактах и продумывать маркетинг.
Сулейман называет AI, который мог бы решать подобные задачи, “Artificial Capable Intelligence” (AСI). По его мнению, ACI — это промежуточная версия между слабым AI и AGI. А еще Сулейман верит, что ACI может быть достигнут уже через пару-тройку лет, и вот тогда это окажет огромное влияние на экономику. Мы перейдем от фазы "AI полезен в решении каких-то задач" в фазу "AI — центральная составляющая мировой экономики".
Мои мысли по этому поводу:
- Это немного похоже на предложение нового теста Тьюринга из поста выше. Похоже тем, что и тут, и там от модели начиает требоваться не только возможность общаться, но и возможность взаимодействовать с миром. Кажется, это требование — логичный шаг в эволюции наших ожиданий от AI;
- Не совсем понятно, как в таком сеттинге сравнивать между собой модели для разных задач. Возможно, это и не предусматривается, но тогда это похоже на обычный бенчмарк в RL-сеттинге, а не на тест Тьюринга. Просто задача чуть посложнее, чем классификация картинок ImageNet или игры Atari;
- Не очень понятно, как тестировать такие модели, если их тест предуматривает реальное взаимодействие с миром с живыми людьми. В примере выше модели нужно заработать миллион долларов, распоряжаясь реальными деньгами, создавая и продавая реальные товары реальным людям, в процессе коммуницируя с кучей людей. Кажется, тестирование модели будут тратить довольно много человеческого времени и денег.
Возможно, ответы на эти вопросы есть в книге Мустафы Сулеймана "The Coming Wave: Technology, Power and the Twenty-First Century's Greatest Dilemma". Интересно будет почитать (она выходит 5 сентября)
А пока подробнее почитать об идее нового теста Тьюринга можно в статье MIT Tech Review
Как-то я писала пост о foundation models in computer vision. В частности, писала, что один из кандидатов в foundation model in CV — это генеративные модели а-ля Stable Diffusion. Мысль была такая: чтобы научиться хорошо генерировать картинки, нужно действительно много понимать о сути и взаимодействии объектов на изображении. Т.е. хорошая генеративная модель много "знает" о данных и строит полезные внутренние представления объектов.
А раз так, то эти ее знания и внутренние представления можно пытаться из модели извлекать и применять для решения других задач. Так и сделали авторы статьи "Unleashing Text-to-Image Diffusion Models for Visual Perception": они применили предобученный U-Net из Stable Diffusion для решения задач семантической сегментации, referring segmentation и depth estimation.
Общая идея такая:
Берем картинку и текст к ней.
- Для семантической сегментации текст — фразы вида "a photo of a X", где X — один из классов сегментации;
- Для referring segmentation текст — это, собственно, описание объекта, который мы хотим на картинке найти;
- Для depth estimation текст — фразы вида "a photo of a X", где X — общий класс картинок, например "a photo of a street" для датасета фото улиц.
Текст прогоняем через текстовый энкодер из Stable Diffusion. Затем его вместе с сжатой картинкой подаем на вход U-Net из Stable Diffusion. Вытаскиваем из декодера U-Net feature maps и cross-attention maps. Их конкатенируем и подаем на вход обучаемому декодеру, который решает нужную задачу — semantic/referring сегментацию или depth estimation. Для тех задач декодеры разные.
Вот так на основе информации из предобученной диффузии простенький декодер учится решать сложные задачи. Эксперименты показывают, что метод работает, показывая на всех задачах лучший результат, чем многие supervised и self-supervised методы.
📄 Статья
#paper
А раз так, то эти ее знания и внутренние представления можно пытаться из модели извлекать и применять для решения других задач. Так и сделали авторы статьи "Unleashing Text-to-Image Diffusion Models for Visual Perception": они применили предобученный U-Net из Stable Diffusion для решения задач семантической сегментации, referring segmentation и depth estimation.
Общая идея такая:
Берем картинку и текст к ней.
- Для семантической сегментации текст — фразы вида "a photo of a X", где X — один из классов сегментации;
- Для referring segmentation текст — это, собственно, описание объекта, который мы хотим на картинке найти;
- Для depth estimation текст — фразы вида "a photo of a X", где X — общий класс картинок, например "a photo of a street" для датасета фото улиц.
Текст прогоняем через текстовый энкодер из Stable Diffusion. Затем его вместе с сжатой картинкой подаем на вход U-Net из Stable Diffusion. Вытаскиваем из декодера U-Net feature maps и cross-attention maps. Их конкатенируем и подаем на вход обучаемому декодеру, который решает нужную задачу — semantic/referring сегментацию или depth estimation. Для тех задач декодеры разные.
Вот так на основе информации из предобученной диффузии простенький декодер учится решать сложные задачи. Эксперименты показывают, что метод работает, показывая на всех задачах лучший результат, чем многие supervised и self-supervised методы.
📄 Статья
#paper
Как устроены трансформеры для задач CV на примере ViT
#промо
Это — один из примеров статьи в канале DeepSchool!
В нем 15 практикующих инженеров пишут посты на темы ML/DL:
- разбирают статьи
- дают советы по обучению нейросетей
- напоминают теорию ML/DL
- и пишут туториалы к сервисам и фреймворкам
Ребята ревьюят посты друг друга, чтобы добавить разные точки зрения, а редактор упрощает текст и убирает лишнее, чтобы вам было легче читать.
Еще примеры постов:
❶ Подкаст «Почему растет популярность 3D CV»
❷ Разбор решений Kaggle соревнования по детекции столкновений футболистов
❸ Обзор ключевых идей MobileNet — почему она столь эффективна
❹ Что такое kafka доступным языком и с примером для датасаенс
❺ Вопрос на подумать: как защититься от ленивых разметчиков на краудсорсинг-платформах
➡️ Подписывайтесь, чтобы не пропустить полезный совет и развиваться в Deep Learning!
#промо
Это — один из примеров статьи в канале DeepSchool!
В нем 15 практикующих инженеров пишут посты на темы ML/DL:
- разбирают статьи
- дают советы по обучению нейросетей
- напоминают теорию ML/DL
- и пишут туториалы к сервисам и фреймворкам
Ребята ревьюят посты друг друга, чтобы добавить разные точки зрения, а редактор упрощает текст и убирает лишнее, чтобы вам было легче читать.
Еще примеры постов:
❶ Подкаст «Почему растет популярность 3D CV»
❷ Разбор решений Kaggle соревнования по детекции столкновений футболистов
❸ Обзор ключевых идей MobileNet — почему она столь эффективна
❹ Что такое kafka доступным языком и с примером для датасаенс
❺ Вопрос на подумать: как защититься от ленивых разметчиков на краудсорсинг-платформах
➡️ Подписывайтесь, чтобы не пропустить полезный совет и развиваться в Deep Learning!
Всем привет! В последнее время я была очень занята, но обычные посты в канале возобновятся совсем скоро. А пока вот вам пара образовательных апдейтов:
#learning
1️⃣ Лаида (наша верховная Техножрица) завершила цикл постов на тему "как вкатиться в ML с нуля за ноль рублей". В ее презентациях — пошаговый план изучения области со ссылками на курсы/книги. Всего три части:
- Часть 1: предварительные знания;
- Часть 2: ML/DL (что такое и как/где учить);
- Часть 3: вспомогательные инструменты и поиск работы;
Если у вас есть знакомые, кто хочет перейти в ML, будет хорошей идеей отправить им эти презентации. Возможно, кого-то спасет от покупки дорогих курсов, обещающих "дойти до middle ML engineer и зп в 200k за 3 месяца"
2️⃣ Мои друзья из Mathshub запускают бесплатный интенсив по развитию soft skills для IT специалистов. Интенсив ориентирован на тех, кто стал или собирается стать руководителем в команде (даже если только в будущем). Старт 8 августа, длительность три недели. Больше информации об интенсиве тут.
А если вдруг я пропустила что-то классное в образовательной сфере за последние недели, делитесь в комментариях =)
#learning
1️⃣ Лаида (наша верховная Техножрица) завершила цикл постов на тему "как вкатиться в ML с нуля за ноль рублей". В ее презентациях — пошаговый план изучения области со ссылками на курсы/книги. Всего три части:
- Часть 1: предварительные знания;
- Часть 2: ML/DL (что такое и как/где учить);
- Часть 3: вспомогательные инструменты и поиск работы;
Если у вас есть знакомые, кто хочет перейти в ML, будет хорошей идеей отправить им эти презентации. Возможно, кого-то спасет от покупки дорогих курсов, обещающих "дойти до middle ML engineer и зп в 200k за 3 месяца"
2️⃣ Мои друзья из Mathshub запускают бесплатный интенсив по развитию soft skills для IT специалистов. Интенсив ориентирован на тех, кто стал или собирается стать руководителем в команде (даже если только в будущем). Старт 8 августа, длительность три недели. Больше информации об интенсиве тут.
А если вдруг я пропустила что-то классное в образовательной сфере за последние недели, делитесь в комментариях =)
Помните, был пост про эффект гроккинга (Grokking)? Напомню: это эффект, когда модель в начале обучения начинает переобучаться (train лосс становится мал, test loss остается высоким), а через некоторое время внезапно генерализуется (test loss резко падает). Иллюстрация этого эффекта — на картинке.
Grokking был замечен не так давно, лишь в 2021, и только на маленьких, "игрушечных" датасетах. Первой статьей, исследовавшей этот эффект как раз на игрушечных задачах, можно назвать эту. В ней приводятся некоторые соображения насчет того, откуда этот эффект возникает. В частности, замечено, что weight decay играет большую роль и может способствовать появлению этого эффекта.
Однако досконально выяснить, при каких обстоятельствах возникает Grokking, и какие нюансы архитектуры/метода обучения на это влияют, еще не получилось. В 2022 году вышла статья от MIT, где авторы попытались связать Grokking с устройством поверхности лосс-функции и нормой параметров сети. Для меня эта теория выглядит неплохо (+ она согласуется с тем, что weigth decay помогает: тут тоже дело в норме параметров), но доказать, что Grokking целиком и полностью обусловлен этим эффектом, нельзя.
Так вот, к чему я это. Пару дней назад Google выкатил лонгрид, посвященный Grokking. В нем авторы описали, в чем состоит феномен, и сделали очень понятные визуализации этого эффекта на примере двух игрушечных задач. На них видно, какие свойства есть у весов сети до и после того, как начинается Grokking, а также становится понятно, как именно weight decay вызывает этот самый Grokking.
Короче, отличный лонгрид-ликбез по этой теме.
Из интересного: в ходе экспериментов авторы делают вывод, что weight decay не является ни необходимым, ни достаточным условием для возникновения Grokking. Нужно больше исследований, чтобы понять, откуда берется эффект. Эти исследования должны начинаться с игрушечных задач, чтобы можно было исследовать влияние каждой мелкой детали на Grokking изолированно. И только потом можно переходить к исследованиям больших моделей.
📄Лонгрид
Grokking был замечен не так давно, лишь в 2021, и только на маленьких, "игрушечных" датасетах. Первой статьей, исследовавшей этот эффект как раз на игрушечных задачах, можно назвать эту. В ней приводятся некоторые соображения насчет того, откуда этот эффект возникает. В частности, замечено, что weight decay играет большую роль и может способствовать появлению этого эффекта.
Однако досконально выяснить, при каких обстоятельствах возникает Grokking, и какие нюансы архитектуры/метода обучения на это влияют, еще не получилось. В 2022 году вышла статья от MIT, где авторы попытались связать Grokking с устройством поверхности лосс-функции и нормой параметров сети. Для меня эта теория выглядит неплохо (+ она согласуется с тем, что weigth decay помогает: тут тоже дело в норме параметров), но доказать, что Grokking целиком и полностью обусловлен этим эффектом, нельзя.
Так вот, к чему я это. Пару дней назад Google выкатил лонгрид, посвященный Grokking. В нем авторы описали, в чем состоит феномен, и сделали очень понятные визуализации этого эффекта на примере двух игрушечных задач. На них видно, какие свойства есть у весов сети до и после того, как начинается Grokking, а также становится понятно, как именно weight decay вызывает этот самый Grokking.
Короче, отличный лонгрид-ликбез по этой теме.
Из интересного: в ходе экспериментов авторы делают вывод, что weight decay не является ни необходимым, ни достаточным условием для возникновения Grokking. Нужно больше исследований, чтобы понять, откуда берется эффект. Эти исследования должны начинаться с игрушечных задач, чтобы можно было исследовать влияние каждой мелкой детали на Grokking изолированно. И только потом можно переходить к исследованиям больших моделей.
📄Лонгрид
Еще небольшой комментарий: у меня в универе на reading club мы как-то разбирали эту первую статью про Grokking. И у профессора-британца возник вопрос: а почему вообще этот эффект назвали Grokking?
Покопавшись в статьях на эту тему, обнаружили, что одни из основных авторов, пишущих статьи по этой теме — физики. В частности, вот есть Eric Michaud, PhD на физическом факультете MIT. Тема его диссертации — improving our scientific/theoretical understanding of deep learning, и исследование Grokking — одна из центральных тем. Он соавтор той статьи про объяснение гроккинга через устройством поверхности лосс-функции и нормы параметров сети. И кто-то из коллег предположил, что термин Grokking был заимствован из физики (астрономии, в частности). Хотя, сказать по правде, я сейчас гуглила, и особо упоминания этого термина не нашла.
Но нашла другое — подкаст-интервью с Eric Michaud, где он рассказывает о своей научной работе. Две большие темы — квантизация моделей и как раз Grokking. Есть видео, аудио и текстовые версии интервью
🎧Слушать тут
P.S. В комментариях подсказали, откуда на самом деле взяли термин Grokking
Покопавшись в статьях на эту тему, обнаружили, что одни из основных авторов, пишущих статьи по этой теме — физики. В частности, вот есть Eric Michaud, PhD на физическом факультете MIT. Тема его диссертации — improving our scientific/theoretical understanding of deep learning, и исследование Grokking — одна из центральных тем. Он соавтор той статьи про объяснение гроккинга через устройством поверхности лосс-функции и нормы параметров сети. И кто-то из коллег предположил, что термин Grokking был заимствован из физики (астрономии, в частности). Хотя, сказать по правде, я сейчас гуглила, и особо упоминания этого термина не нашла.
Но нашла другое — подкаст-интервью с Eric Michaud, где он рассказывает о своей научной работе. Две большие темы — квантизация моделей и как раз Grokking. Есть видео, аудио и текстовые версии интервью
🎧Слушать тут
P.S. В комментариях подсказали, откуда на самом деле взяли термин Grokking
Выпуск подкаста “S02E02: Векторные базы данных и стартап" доступен на всех платформах!
#podcast
Гость эпизода — Андрей Васнецов, основатель & CTO Qdrant — стартапа, который разрабатывает векторную базу данных.
С Андреем поговорили о том, что вообще такое — векторная база данных, как она работает, в чем сложность ее реализации и где ее можно применять. Еще узнали, как векторные базы данных можно использовать в ChatGPT. Ну и обсудили стартап: сложно ли было его создать и как идут дела.
Слушать:
Yandex Music
Apple Music
Google Music
Spotify
YouTube
Материалы и таймкоды к выпуску
Поддержать подкаст:
- рубли
- любая другая валюта
#podcast
Гость эпизода — Андрей Васнецов, основатель & CTO Qdrant — стартапа, который разрабатывает векторную базу данных.
С Андреем поговорили о том, что вообще такое — векторная база данных, как она работает, в чем сложность ее реализации и где ее можно применять. Еще узнали, как векторные базы данных можно использовать в ChatGPT. Ну и обсудили стартап: сложно ли было его создать и как идут дела.
Слушать:
Yandex Music
Apple Music
Google Music
Spotify
YouTube
Материалы и таймкоды к выпуску
Поддержать подкаст:
- рубли
- любая другая валюта
В конце июня в Ванкувере была конференция CVPR (на которую у меня был билет, но я не поехала, потому что Канада не выдала визу в срок😒)
CVPR — самая масштабная конференция по computer vision, на которой много воркшопов и туториалов.
Воркшоп — это раздел конференции, где собраны доклады вокруг конкретной темы. Например, event-based vision или Vision-Centric Autonomous Driving. Это часто либо более обзорные доклады, чем те, что на основной конференции, либо вообще work in progress — доклады об исследованиях, которые еще не закончены, и в которых еще не получены явные результаты. Туториал — это также раздел с докладами на определенную тему, но они более вводные и более глубокие, дающие представление о конкретном разделе исследования. То есть, такой мини-курс. Часто еще на туториалах бывает интерактив (практика).
И вот вам списки туториалов и воркшопов с CVPR-2023:
- Воркшопы;
- Туториалы.
Видео многих из них к этому моменту уже выложены в открытый доступ, а некоторые будут выложены в ближайшее время.
Конкретно я буду смотреть туториал Recent Advances in Vision Foundation Models
#learning
CVPR — самая масштабная конференция по computer vision, на которой много воркшопов и туториалов.
Воркшоп — это раздел конференции, где собраны доклады вокруг конкретной темы. Например, event-based vision или Vision-Centric Autonomous Driving. Это часто либо более обзорные доклады, чем те, что на основной конференции, либо вообще work in progress — доклады об исследованиях, которые еще не закончены, и в которых еще не получены явные результаты. Туториал — это также раздел с докладами на определенную тему, но они более вводные и более глубокие, дающие представление о конкретном разделе исследования. То есть, такой мини-курс. Часто еще на туториалах бывает интерактив (практика).
И вот вам списки туториалов и воркшопов с CVPR-2023:
- Воркшопы;
- Туториалы.
Видео многих из них к этому моменту уже выложены в открытый доступ, а некоторые будут выложены в ближайшее время.
Конкретно я буду смотреть туториал Recent Advances in Vision Foundation Models
#learning
Отзыв на книгу "Machine Learning System Design"
#learning
Не так давно Валерий Бабушкин и Арсений Кравченко написали свою книгу о дизайне ML систем. Она выпускается частями, сейчас вышло около половины. Мне досталась копия книги бесплатно взамен на отзыв (чему я очень была рада, хе-хе). Книгу я, наконец, прочитала (ту ее часть, что уже вышла), и в этом посте пишу свой отзыв.
Для начала пару слов, что такое ML system design:
Простыми словами, ML system design — это искусство построения системы с ML-компонентами. Например, пусть вы — онлайн-магазин, и хотите внедрить в свой магазин умный поиск по товарам на основе ML-модели. Чтобы это сделать, вам нужно разработать эффективный дизайн системы поиска, отвечающий вашим требованиям, реализовать эту систему и научиться ее эффективно поддерживать в условиях постоянно меняющегося мира. Вот это все входит в ML system design.
Еще важно сказать, что дизайн нужен не только большим и высоконагруженным системам. Даже небольшие пайплайны с небольшим потоком данных нуждаются в качественном проектировании.
Теперь, почему мне хотелось прочитать эту книгу:
В апреле 2022 года я собеседовалась в DeepMind на позицию ML Engineer. Прошла все этапы до последнего интервью, которое как раз было на ML System Design. Я его завалила (и по своим ощущениям, и по фидбеку). Но сама не могла понять, что в моем мыслительном процессе было не так. Отчасти из-за этого опыта мне и было интересно прочитать эту книгу. Начав читать, я через страниц 15 поняла, что я делала не так. Я задавала не те вопросы. Я вообще их мало задавала, хотя в дизайне ML систем вопросы — это чуть ли не самое главное.
Итак, перейдем к книге. О чем книга и для кого она:
"Machine Learning System Design" — это отличная вводная книга в мир построения ML-систем. Другими словами, если вы интересуетесь ML System Design или строите свою первую систему и думаете, с чего начать, то эта книга — ровно то, что вам нужно. В ней очень хорошо разобраны базовые вопросы ML дизайна:
- Что вообще такое этот ваш ML System Design;
- На что обязательно нужно обратить внимание при планировании и построении системы;
- Какие вопросы задавать и какие стратегии использовать, чтобы наилучшим образом задизайнить систему;
- Важные моменты в каждом из шагов построения и поддержки системы, от первого черновика дизайна до внедрения и поддержки.
То есть, книга высокоуровневая. Она научит вас правильно мыслить, задавать правильные вопросы. А за конкретными инструментами дальше пойдете в другие места.
Написано все понятным и приятным языком. Читать не скучно и не сложно. Практически к каждой ключевой мысли есть пример из опыта работы авторов: они отлично иллюстрируют важность той или иной компоненты дизайна системы.
Короче, книга хороша, рекомендую.
(тут, на всякий случай, небольшой дисклеймер: чтобы начать изучать ML System Design, нужно хорошо понимать основы ML и принципы работы ML-пайплайнов. Сначала — основы, потом – дизайн систем)
📘Купить книжку туть (разумеется, по мере выхода глав вы будете получать к ним доступ)
#learning
Не так давно Валерий Бабушкин и Арсений Кравченко написали свою книгу о дизайне ML систем. Она выпускается частями, сейчас вышло около половины. Мне досталась копия книги бесплатно взамен на отзыв (чему я очень была рада, хе-хе). Книгу я, наконец, прочитала (ту ее часть, что уже вышла), и в этом посте пишу свой отзыв.
Для начала пару слов, что такое ML system design:
Простыми словами, ML system design — это искусство построения системы с ML-компонентами. Например, пусть вы — онлайн-магазин, и хотите внедрить в свой магазин умный поиск по товарам на основе ML-модели. Чтобы это сделать, вам нужно разработать эффективный дизайн системы поиска, отвечающий вашим требованиям, реализовать эту систему и научиться ее эффективно поддерживать в условиях постоянно меняющегося мира. Вот это все входит в ML system design.
Еще важно сказать, что дизайн нужен не только большим и высоконагруженным системам. Даже небольшие пайплайны с небольшим потоком данных нуждаются в качественном проектировании.
Теперь, почему мне хотелось прочитать эту книгу:
В апреле 2022 года я собеседовалась в DeepMind на позицию ML Engineer. Прошла все этапы до последнего интервью, которое как раз было на ML System Design. Я его завалила (и по своим ощущениям, и по фидбеку). Но сама не могла понять, что в моем мыслительном процессе было не так. Отчасти из-за этого опыта мне и было интересно прочитать эту книгу. Начав читать, я через страниц 15 поняла, что я делала не так. Я задавала не те вопросы. Я вообще их мало задавала, хотя в дизайне ML систем вопросы — это чуть ли не самое главное.
Итак, перейдем к книге. О чем книга и для кого она:
"Machine Learning System Design" — это отличная вводная книга в мир построения ML-систем. Другими словами, если вы интересуетесь ML System Design или строите свою первую систему и думаете, с чего начать, то эта книга — ровно то, что вам нужно. В ней очень хорошо разобраны базовые вопросы ML дизайна:
- Что вообще такое этот ваш ML System Design;
- На что обязательно нужно обратить внимание при планировании и построении системы;
- Какие вопросы задавать и какие стратегии использовать, чтобы наилучшим образом задизайнить систему;
- Важные моменты в каждом из шагов построения и поддержки системы, от первого черновика дизайна до внедрения и поддержки.
То есть, книга высокоуровневая. Она научит вас правильно мыслить, задавать правильные вопросы. А за конкретными инструментами дальше пойдете в другие места.
Написано все понятным и приятным языком. Читать не скучно и не сложно. Практически к каждой ключевой мысли есть пример из опыта работы авторов: они отлично иллюстрируют важность той или иной компоненты дизайна системы.
Короче, книга хороша, рекомендую.
(тут, на всякий случай, небольшой дисклеймер: чтобы начать изучать ML System Design, нужно хорошо понимать основы ML и принципы работы ML-пайплайнов. Сначала — основы, потом – дизайн систем)
📘Купить книжку туть (разумеется, по мере выхода глав вы будете получать к ним доступ)
Увидела в одном из чатов обсуждение AGI (да, опять) и того, погубит ли оно в конце концов человечество. Одна из причин страха такого развития событий — наблюдения, что большие модели типа GPT-4 часто начинают "внезапно" демонстрировать способности, которых у моделей поменьше, кажется, нет и в помине. Ну, например, если обучить языковую модель с количеством параметров 10B, то она, внезапно, начинает уметь в zero-shot question answering или отгадывание загадок. А у моделей с меньшим количеством параметров, сколько их ни обучай, таких способностей не возникает.
(на всякий случай: количество 10B и примеры задач взяты тут с потолка. Надеюсь, общая идея понятна)
Этот эффект называется "emerging abilities of Large Language Models". Из-за него кажется, что большое количество параметров каким-то магическим образом позволяет модели развить умение решать сложные задачи, развить абстрактные высокоуровневые способности типа reasoning, abstract thinking, понимание связей, юмора и т.п. И если эту мысль экстраполировать, то появляется идея, что при еще большем увеличении количества параметров модели у нее также внезапно может появиться и условное "сознание". На этом и основываются многие страхи AGI-апокалипсиса.
Так вот. Это все напомнило мне одну статью, про которую я уже давно хотела написать в канал, но как-то руки не доходили. Называется она "Are Emergent Abilities of Large Language Models a Mirage?". В ней авторы говорят, что эффект emerging abilities — это мираж. И на самом деле его нет (или почти нет). А способности к reasoning, abstract thinking и т.п. у модели появляются не внезапно, а очень даже предсказуемо. Вся проблема в том, что мы неправильно считаем метрики.
Давайте пример. Возьмем задачу "отгадай загадку". Модели подается на вход загадка на естественном языке. В ответ модели нужно выдать ответ тоже на естественнос языке.
В качестве метрики качества ответов LLM на такой задаче обычно берется exact string match. Т.е. metric=1, если модель ввыдала текст, полностью совпадающий с правильным ответом, и metric=0 в любом остальном случае. И вот если смотреть на то, как меняется эта метрика для моделей с разным количеством обучаемых параметров, тут как раз и наблюдается тот самый внезапный эффект. Маленькие модели получают acc = eps, а модели тяжелее условных 10B параметров внезапно показывают acc>0.5.
В чем тут проблема? А в том, что метрика супердискретна. Она не учитывает то, как при увеличении параметров модели меняется распределение вероятностей модели на ответы. И на самом деле дела обстоят так: при увеличении размера модели она научается давать все больше вероятности адекватным вариантам ответа на загадку, и все меньше — бредовым. Короче, на самом деле учится все лучше и лучше решать задачу. И при каком-то значении размера модели она становится способна давать настолько много вероятности правильным ответам, что нашу дискретную метрику exact string match "прорывает" от почти 0 сразу до большого значения.
Короче, мысль такова: на самом деле способности по большинству задач растут вполне предсказуемо с ростом размера моделей. Заменив дискретные метрики на более непрерывные, авторы этой статьи показали, что по крайне мере на 92% задач из Big Bench никакого "внезапного" прорыва у больших моделей не происходит. Качество на них растет плавно и предсказуемо при увеличении размера моделей.
А еще авторы показали, что такой же эффект "emerging ability" можно смоделировать и на обычных автоэнкодерах на датасете CIFAR100. Нужно только поменять метрику качества на чуть более дискретную, чем обычно используется (об этом в разделе 5 статьи)
Вот так. Конечно, этот результат не означает, что у моделей точно никаких "emerging abilities" быть не может, и сознание она никак не получит. Нет. Но это, как минимум, повод задумываться над всеми "странными" результатами, которые получают исследователи, и лучше их изучать. А не просто экстраполировать и сразу делать страшные выводы.
📄Статья
(на всякий случай: количество 10B и примеры задач взяты тут с потолка. Надеюсь, общая идея понятна)
Этот эффект называется "emerging abilities of Large Language Models". Из-за него кажется, что большое количество параметров каким-то магическим образом позволяет модели развить умение решать сложные задачи, развить абстрактные высокоуровневые способности типа reasoning, abstract thinking, понимание связей, юмора и т.п. И если эту мысль экстраполировать, то появляется идея, что при еще большем увеличении количества параметров модели у нее также внезапно может появиться и условное "сознание". На этом и основываются многие страхи AGI-апокалипсиса.
Так вот. Это все напомнило мне одну статью, про которую я уже давно хотела написать в канал, но как-то руки не доходили. Называется она "Are Emergent Abilities of Large Language Models a Mirage?". В ней авторы говорят, что эффект emerging abilities — это мираж. И на самом деле его нет (или почти нет). А способности к reasoning, abstract thinking и т.п. у модели появляются не внезапно, а очень даже предсказуемо. Вся проблема в том, что мы неправильно считаем метрики.
Давайте пример. Возьмем задачу "отгадай загадку". Модели подается на вход загадка на естественном языке. В ответ модели нужно выдать ответ тоже на естественнос языке.
В качестве метрики качества ответов LLM на такой задаче обычно берется exact string match. Т.е. metric=1, если модель ввыдала текст, полностью совпадающий с правильным ответом, и metric=0 в любом остальном случае. И вот если смотреть на то, как меняется эта метрика для моделей с разным количеством обучаемых параметров, тут как раз и наблюдается тот самый внезапный эффект. Маленькие модели получают acc = eps, а модели тяжелее условных 10B параметров внезапно показывают acc>0.5.
В чем тут проблема? А в том, что метрика супердискретна. Она не учитывает то, как при увеличении параметров модели меняется распределение вероятностей модели на ответы. И на самом деле дела обстоят так: при увеличении размера модели она научается давать все больше вероятности адекватным вариантам ответа на загадку, и все меньше — бредовым. Короче, на самом деле учится все лучше и лучше решать задачу. И при каком-то значении размера модели она становится способна давать настолько много вероятности правильным ответам, что нашу дискретную метрику exact string match "прорывает" от почти 0 сразу до большого значения.
Короче, мысль такова: на самом деле способности по большинству задач растут вполне предсказуемо с ростом размера моделей. Заменив дискретные метрики на более непрерывные, авторы этой статьи показали, что по крайне мере на 92% задач из Big Bench никакого "внезапного" прорыва у больших моделей не происходит. Качество на них растет плавно и предсказуемо при увеличении размера моделей.
А еще авторы показали, что такой же эффект "emerging ability" можно смоделировать и на обычных автоэнкодерах на датасете CIFAR100. Нужно только поменять метрику качества на чуть более дискретную, чем обычно используется (об этом в разделе 5 статьи)
Вот так. Конечно, этот результат не означает, что у моделей точно никаких "emerging abilities" быть не может, и сознание она никак не получит. Нет. Но это, как минимум, повод задумываться над всеми "странными" результатами, которые получают исследователи, и лучше их изучать. А не просто экстраполировать и сразу делать страшные выводы.
📄Статья
В продолжение к посту выше: эта история мне напомнила еще один недавний случай, где метрика сыграла большую роль. Не так давно в Твиттере/Реддите стали появляться сообщения, что ChatGPT что-то "сильно отупела". Конкретно, в задачах, где нужно генерировать код, стала выдавать невалидный код. Который тупо не запускается. Потом еще ребята из Стенфорда выпустили статью, где основательно сравнили перформанс ChatGPT и GPT-4 в марте и июне 2023 года. Эти сравнения были очень выразительными: в марте где-то 50% кода, выданного ChatGPT, было корректным, а в июне этот показатель стал 10%. Вот твит с парой таких картинок.
Это навело какую-то шумиху, я даже в нескольких чатах видела обсуждение (ну и правда, было интересно, что такое случилось). Ну а что же там произошло на самом деле: оказывается, снова дело было в метрике. В том, как авторы статьи измеряли "корректность" кода, выданного ChatGPT. Измерялась она, похоже, так: берем код, который выдает модель, запускаем. Запустилось — хорошо, не запустилось — плохо. И с мартовской версией ChatGPT большинство кода работало, с июньской версией перестало. В чем же дело?
А дело в том, что OpenAI поменяла вид, в котором ChatGPT выдает код. Теперь весь код в выводе обрамляется кавычками, и рядом еще ставится приписка, какой язык программирования используется. И именно это нововведение сломало прямой запуск кода в выводе ChatGPT. Т.е. модель продолжила выдавать правильный код, но запуск этого кода стал ломаться из-за добавленных кавычек.
Вот такая история. Подробнее про нее и другие аспекты этой статьи можно почитать в Сиолошной. Это еще один повод, чтобы чуть исследовать удивительные открытия, перед тем как писать "this is huge"(сори, у меня немного аллергия на посты, которые начинаются с таких фраз)
Это навело какую-то шумиху, я даже в нескольких чатах видела обсуждение (ну и правда, было интересно, что такое случилось). Ну а что же там произошло на самом деле: оказывается, снова дело было в метрике. В том, как авторы статьи измеряли "корректность" кода, выданного ChatGPT. Измерялась она, похоже, так: берем код, который выдает модель, запускаем. Запустилось — хорошо, не запустилось — плохо. И с мартовской версией ChatGPT большинство кода работало, с июньской версией перестало. В чем же дело?
А дело в том, что OpenAI поменяла вид, в котором ChatGPT выдает код. Теперь весь код в выводе обрамляется кавычками, и рядом еще ставится приписка, какой язык программирования используется. И именно это нововведение сломало прямой запуск кода в выводе ChatGPT. Т.е. модель продолжила выдавать правильный код, но запуск этого кода стал ломаться из-за добавленных кавычек.
Вот такая история. Подробнее про нее и другие аспекты этой статьи можно почитать в Сиолошной. Это еще один повод, чтобы чуть исследовать удивительные открытия, перед тем как писать "this is huge"
Присоединяйтесь к TechTrain 2023 Autumn — онлайн-фестивалю, посвященному машинному обучению и искусственному интеллекту.
#промо
На TechTrain будут обсуждать:
– LLMs: ускорение интерфейса и деплой;
– Обучение искусственного интеллекта психотерапии;
– Программирование игр с ChatGPT (экспресс-хакатон);
– Оптимизацию рекомендательных систем: метрики, архитектуру и практические советы;
– Эволюцию и будущее NLP;
– Автоматизацию разметки данных с помощью ML-моделей;
– Разбор успешного кейса: от Jupyter к MLOps;
– Conjoint-анализ: зачем нужен, как устроен, как использовать.
После каждого доклада участники смогут пообщаться со спикером в дискуссионной комнате и задать волнующие вопросы.
Дата проведения: 30 августа. Фестиваль бесплатный, нужно только зарегистрироваться.
#промо
На TechTrain будут обсуждать:
– LLMs: ускорение интерфейса и деплой;
– Обучение искусственного интеллекта психотерапии;
– Программирование игр с ChatGPT (экспресс-хакатон);
– Оптимизацию рекомендательных систем: метрики, архитектуру и практические советы;
– Эволюцию и будущее NLP;
– Автоматизацию разметки данных с помощью ML-моделей;
– Разбор успешного кейса: от Jupyter к MLOps;
– Conjoint-анализ: зачем нужен, как устроен, как использовать.
После каждого доклада участники смогут пообщаться со спикером в дискуссионной комнате и задать волнующие вопросы.
Дата проведения: 30 августа. Фестиваль бесплатный, нужно только зарегистрироваться.