На работе попросили записать короткое видео о том, что такое машинное обучение. Формат специфический: короткий клип, всего одна минута. Много за 60 секунд не расскажешь, но надеюсь, что будет небесполезно для совсем начинающих, кто ещё ничего не знает о машинном обучении. Для меня это был интересный первый опыт. Ролик здесь, если кому любопытно:
https://vk.com/clip-212087550_456239074?c=0
#ml
https://vk.com/clip-212087550_456239074?c=0
#ml
VK
MTS AI on VK Clips
Как машинное обучение влияет на
Первый раз опубликовался в Форбс!
Это opinion piece на одну актуальную тему, связанную с генеративным AI. Вместе с Сергеем Загоруйко, руководителем направления фундаментальных исследований в моей компании, порассуждали о том, к каким проблемам может привести наводнение Интернета контентом, произведённым нейросетями, и как с этими проблемами бороться.
#ml
Это opinion piece на одну актуальную тему, связанную с генеративным AI. Вместе с Сергеем Загоруйко, руководителем направления фундаментальных исследований в моей компании, порассуждали о том, к каким проблемам может привести наводнение Интернета контентом, произведённым нейросетями, и как с этими проблемами бороться.
#ml
Вы могли заметить, что я сменил аватарку канала. Предыдущая была хоть и довольно милая, но обычная стоковая фотка, нагугленная по запросу "плюшевый питон". Новая же аватарка - не только эксклюзив, но ещё и с историей. Иллюстрацию специально для моего канала нарисовала акварелью Наташа Соло, руководитель нижегородского комикс-клуба "Горький комикс". Ребята выпустили уже семь замечательных сборников авторских арт-новелл, теперь на очереди восьмой выпуск. Он называется "Эпоха открытий" и посвящён стимпанку. Когда я полуслучайно узнал об этом проекте, не смог его не поддержать на краудфандинговой платформе. Во-первых, люблю комиксы, во-вторых, неравнодушен к стимпанку, ну а в-третьих, всегда радуют такие крутые инициативы в родном Нижнем Новгороде. Кстати, средства на печать сборника были благополучно собраны - план даже был перевыполнен почти в три раза. Если вам интересно узнать о проекте более подробно, делюсь ссылкой: https://planeta.ru/campaigns/epoha_otkrytyi. В сборнике будет страница, посвящённая каналу "Плюшевый Питон", и я с нетерпением жду, когда получу свой экземпляр. Такой вот немного неожиданный коллаб получился с нижегородским комикс-сообществом.
Planeta.ru
Печать сборника комиксов «Эпоха открытий» | Planeta
Авторы с разной совершенно уникальной графикой создали истории о мире пара и шестерёнок. Приключения, наука, феерия механических деталей - вот что внутри!
Издадим сборник вместе!
Издадим сборник вместе!
Одна из читательниц блога задала классный вопрос в комментариях (кстати, напоминаю, что вы всегда можете задавать мне интересующие вас вопросы под постами или просто писать мне в личку, контакты есть в описании канала). Я подумал, что на этот вопрос будет полезно ответить развёрнуто, в формате отдельного поста, потому что ответ затронет важную для меня тему, на которую я всё равно хотел в ближайшее время написать.
Итак, меня спросили: "расскажите, пожалуйста, про языки, которые используются в NLP-разработке и ML. Что встречалось на Ваших местах работы или у Ваших знакомых? Большинство проектов, которые я находила на эту тематику, — на python, однако кажется, что знание и умение использовать один язык для этих целей — не самое эффективное и правильное решение. Есть же языки побыстрее всё-таки"
---
Коротенькая ремарка. Некоторые пишут "на Python", другие "на Пайтоне", третьи "на Питоне". Мне привычнее и больше нравится "на Питоне", простите, если кого-то это раздражает)
---
Часть 1. Медленно, но быстро
#python #ml
Собственно для ML-разработки, действительно, почти всегда используется Питон. Это во многом связано с тем, что для машинного обучения в экосистеме Питона уже есть мощнейший набор фреймворков, библиотек и прочих инструментов. Да и не только для машинного обучения - про Питон говорят, что он "идёт с батарейками в комплекте". Представьте, что вам по работе нужно обучить ML-модель - например, классификатор токсичности для фильтрации оскорбительных высказываний. Если вы будете делать это на Питоне, у вас уже есть готовые библиотеки для всех этапов работы: загрузка и разведочный анализ данных, очистка и подготовка данных, обучение моделей (как "классических", так и более современных, основанных на трансформерах), оценка их качества, визуализация результатов, анализ ошибок модели, выявление примеров, неправильно размеченных людьми в обучающей выборке и т.д. На других языках такого изобилия инструментов нет, вам бы пришлось реализовывать всё или почти всё это с нуля.
Таким образом, важно учитывать не только быстродействие самого языка, но и скорость разработки на нём. Питон довольно лаконичен, его синтаксис не слишком перегружен скобками и прочими знаками препинания, а эксперты в языке всячески поощряют читаемость кода (например, об этом пишут автор книги "Effective Python" Brett Slatkin и автор книги "Robust Python" Patrick Viafore). Плюс отличный набор готовых библиотек и инструментов - вот и секрет его успеха. Раньше Питон называли "вторым лучшим языком для чего угодно", но сейчас по популярности этот язык занимает первое место в мире. Да и с "медленностью" Питона не всё так однозначно. Версия 3.10 значительно быстрее, чем 3.9, а 3.11 сильно обгоняет 3.10. Посмотрим, что будет с 3.12 и дальше. К тому же, активно развиваются всякие специальные инструменты для ускорения кода на Питоне.
Итак, меня спросили: "расскажите, пожалуйста, про языки, которые используются в NLP-разработке и ML. Что встречалось на Ваших местах работы или у Ваших знакомых? Большинство проектов, которые я находила на эту тематику, — на python, однако кажется, что знание и умение использовать один язык для этих целей — не самое эффективное и правильное решение. Есть же языки побыстрее всё-таки"
---
Коротенькая ремарка. Некоторые пишут "на Python", другие "на Пайтоне", третьи "на Питоне". Мне привычнее и больше нравится "на Питоне", простите, если кого-то это раздражает)
---
Часть 1. Медленно, но быстро
#python #ml
Собственно для ML-разработки, действительно, почти всегда используется Питон. Это во многом связано с тем, что для машинного обучения в экосистеме Питона уже есть мощнейший набор фреймворков, библиотек и прочих инструментов. Да и не только для машинного обучения - про Питон говорят, что он "идёт с батарейками в комплекте". Представьте, что вам по работе нужно обучить ML-модель - например, классификатор токсичности для фильтрации оскорбительных высказываний. Если вы будете делать это на Питоне, у вас уже есть готовые библиотеки для всех этапов работы: загрузка и разведочный анализ данных, очистка и подготовка данных, обучение моделей (как "классических", так и более современных, основанных на трансформерах), оценка их качества, визуализация результатов, анализ ошибок модели, выявление примеров, неправильно размеченных людьми в обучающей выборке и т.д. На других языках такого изобилия инструментов нет, вам бы пришлось реализовывать всё или почти всё это с нуля.
Таким образом, важно учитывать не только быстродействие самого языка, но и скорость разработки на нём. Питон довольно лаконичен, его синтаксис не слишком перегружен скобками и прочими знаками препинания, а эксперты в языке всячески поощряют читаемость кода (например, об этом пишут автор книги "Effective Python" Brett Slatkin и автор книги "Robust Python" Patrick Viafore). Плюс отличный набор готовых библиотек и инструментов - вот и секрет его успеха. Раньше Питон называли "вторым лучшим языком для чего угодно", но сейчас по популярности этот язык занимает первое место в мире. Да и с "медленностью" Питона не всё так однозначно. Версия 3.10 значительно быстрее, чем 3.9, а 3.11 сильно обгоняет 3.10. Посмотрим, что будет с 3.12 и дальше. К тому же, активно развиваются всякие специальные инструменты для ускорения кода на Питоне.
Часть 2. Специализируй это
#career
Благодаря популярной сейчас архитектуре приложений - микросервисной - компоненты одного приложения вообще могут быть реализованы на разных языках программирования. Поэтому фронтенд может быть написан, например, на React, бэкенд на .Net, но приложение всё равно может использовать ML-сервисы, написанные на Питоне. Хорошо, но может быть, одному и тому же разработчику придётся заниматься и ML, и бэкенд-разработкой, и тогда не получится использовать только Питон? Выходит, нужно прямо сейчас бежать изучать и другие языки?
Во-первых, Питон сейчас востребован и в бэкенд-разработке. Во-вторых, круг обязанностей сильно зависит от специфики компании. Когда в компании мало разработчиков, действительно, одному и тому же сотруднику часто приходится заниматься всем понемногу: и модели обучать, и бэкенд писать, и покосившийся фронтенд поправлять, и инфраструктуру налаживать. Особенно это характерно для маленьких стартапов с числом сотрудников менее 20 человек. Я с уважением отношусь к таким разносторонним людям, но в больших компаниях обычно востребованы более узкие специалисты. Разработчик из стартапа просто не пройдёт техническое собеседование на позицию ML-иженера в крупной компании. Его будут глубоко и подробно спрашивать по ML, а у него не было возможности хорошо погрузиться в эту область из-за того, что приходилось работать в режиме "всё, везде и сразу".
Именно поэтому я рекомендую начинающим пробовать разные области разработки, но не слишком задерживаться в роли "мастера на все руки". Важно в какой-то момент остановиться и выбрать что-то одно, что нравится больше всего, и большую часть усилий направить именно на это. Мир больше ценит и награждает узких специалистов, чем умеющих всё по чуть-чуть. Из-за стремительного развития технологий прошли времена универсальных "программистов". Сейчас невозможно быть полноценным экспертом одновременно в бэкенде, фронтенде, машинном обучении и девопсе. Поэтому зачастую крутые компании ищут разработчиков под конкретные, узкие задачи. Это может не всем нравиться, но ситуация на рынке сейчас такова: можно либо пойти в маленький стартап и заниматься там за небольшие деньги всем понемногу (как по мне, это дикий стресс), либо встать на путь экспертности в относительно узкой области и находить более оплачиваемые роли в престижных компаниях. Поэтому если хотите мой совет, вот он: найдите пересечение между тем, что вам нравится, что у вас получается и что востребовано, - и вкладывайтесь в своё развитие именно в этом. Легко не будет, но оно того стоит.
#career
Благодаря популярной сейчас архитектуре приложений - микросервисной - компоненты одного приложения вообще могут быть реализованы на разных языках программирования. Поэтому фронтенд может быть написан, например, на React, бэкенд на .Net, но приложение всё равно может использовать ML-сервисы, написанные на Питоне. Хорошо, но может быть, одному и тому же разработчику придётся заниматься и ML, и бэкенд-разработкой, и тогда не получится использовать только Питон? Выходит, нужно прямо сейчас бежать изучать и другие языки?
Во-первых, Питон сейчас востребован и в бэкенд-разработке. Во-вторых, круг обязанностей сильно зависит от специфики компании. Когда в компании мало разработчиков, действительно, одному и тому же сотруднику часто приходится заниматься всем понемногу: и модели обучать, и бэкенд писать, и покосившийся фронтенд поправлять, и инфраструктуру налаживать. Особенно это характерно для маленьких стартапов с числом сотрудников менее 20 человек. Я с уважением отношусь к таким разносторонним людям, но в больших компаниях обычно востребованы более узкие специалисты. Разработчик из стартапа просто не пройдёт техническое собеседование на позицию ML-иженера в крупной компании. Его будут глубоко и подробно спрашивать по ML, а у него не было возможности хорошо погрузиться в эту область из-за того, что приходилось работать в режиме "всё, везде и сразу".
Именно поэтому я рекомендую начинающим пробовать разные области разработки, но не слишком задерживаться в роли "мастера на все руки". Важно в какой-то момент остановиться и выбрать что-то одно, что нравится больше всего, и большую часть усилий направить именно на это. Мир больше ценит и награждает узких специалистов, чем умеющих всё по чуть-чуть. Из-за стремительного развития технологий прошли времена универсальных "программистов". Сейчас невозможно быть полноценным экспертом одновременно в бэкенде, фронтенде, машинном обучении и девопсе. Поэтому зачастую крутые компании ищут разработчиков под конкретные, узкие задачи. Это может не всем нравиться, но ситуация на рынке сейчас такова: можно либо пойти в маленький стартап и заниматься там за небольшие деньги всем понемногу (как по мне, это дикий стресс), либо встать на путь экспертности в относительно узкой области и находить более оплачиваемые роли в престижных компаниях. Поэтому если хотите мой совет, вот он: найдите пересечение между тем, что вам нравится, что у вас получается и что востребовано, - и вкладывайтесь в своё развитие именно в этом. Легко не будет, но оно того стоит.
А вы знали про confident learning?
#ml
"Уверенное обучение" в контексте machine learning - что бы это могло значить? 🤔 Почти все алгоритмы машинного обучения основаны на предположении, что обучающие данные чисты и заслуживают доверия. Однако на самом деле в них часто закрадываются ошибки разметки, которые плохо влияют на обучение моделей. Confident learning - это относительно новый подход к обучению моделей в русле data-centric ML. Он объединяет в себе различные практики и трюки для обнаружения ошибок разметки и эффективного обучения моделей несмотря на присутствие в данных таких ошибок.
Зачем знать про этот подход? Его можно применять в почти любых задачах машинного обучения с учителем (мультикласс- и мультилейбл-классификация, регрессия) в NLP, CV, работе со структурированными данными. Подход автоматически определяет ошибки в разметке, не требуя подбора гиперпараметров (использует кросс-валидацию для предсказания вероятностей в режиме out-of-sample). После этого можно обучить модель только на данных, не содержащих ошибок разметки - как правило, такая модель будет более точной. 🤓
Confident learning хорошо обоснован теоретически, также есть реализация его методов в библиотеке cleanlab со свободной лицензией. Статья, описывающая подход, имеет 400+ цитирований с 2021 года, а репозиторий cleanlab - 6,2К звёзд. При этом подход не то чтобы очень широко известен. Вы можете применить confident learning в своих рабочих задачах (будем честны, как часто мы видим идеально размеченные датасеты?), а также блеснуть эрудицией на собеседованиях.
Например, с cleanlab можно одной строчкой кода запустить диагностику датасета и получить отчёт о возможных проблемах:
Для тех, кто дочитал до конца 🙏, небольшой бонус - курс 2023 года от MIT по датацентричному ИИ с большим количеством лабораторных работ. Очень рекомендую!
#ml
"Уверенное обучение" в контексте machine learning - что бы это могло значить? 🤔 Почти все алгоритмы машинного обучения основаны на предположении, что обучающие данные чисты и заслуживают доверия. Однако на самом деле в них часто закрадываются ошибки разметки, которые плохо влияют на обучение моделей. Confident learning - это относительно новый подход к обучению моделей в русле data-centric ML. Он объединяет в себе различные практики и трюки для обнаружения ошибок разметки и эффективного обучения моделей несмотря на присутствие в данных таких ошибок.
Зачем знать про этот подход? Его можно применять в почти любых задачах машинного обучения с учителем (мультикласс- и мультилейбл-классификация, регрессия) в NLP, CV, работе со структурированными данными. Подход автоматически определяет ошибки в разметке, не требуя подбора гиперпараметров (использует кросс-валидацию для предсказания вероятностей в режиме out-of-sample). После этого можно обучить модель только на данных, не содержащих ошибок разметки - как правило, такая модель будет более точной. 🤓
Confident learning хорошо обоснован теоретически, также есть реализация его методов в библиотеке cleanlab со свободной лицензией. Статья, описывающая подход, имеет 400+ цитирований с 2021 года, а репозиторий cleanlab - 6,2К звёзд. При этом подход не то чтобы очень широко известен. Вы можете применить confident learning в своих рабочих задачах (будем честны, как часто мы видим идеально размеченные датасеты?), а также блеснуть эрудицией на собеседованиях.
Например, с cleanlab можно одной строчкой кода запустить диагностику датасета и получить отчёт о возможных проблемах:
from cleanlab.dataset import health_summary
health_summary(labels, pred_probs)
Ещё один короткий пример для классификации текстов:cl = CleanLearning(model, cv_n_folds=cv_n_folds)
label_issues = cl.find_label_issues(
X=train_texts,
labels=train_labels,
)
cl.fit(
X=train_texts,
labels=train_labels,
label_issues=cl.get_label_issues(),
)
При обучении новой модели на очищенных от ошибок данных будьте внимательны к тому, как вы оцениваете итоговый результат. Если оценивать на тестовом сете, содержащем ошибки разметки, то эффект от confident learning не будет заметен. Авторы библиотеки дают рекомендации, как правильно применять этот подход, в понятных тьюториалах и FAQ.Для тех, кто дочитал до конца 🙏, небольшой бонус - курс 2023 года от MIT по датацентричному ИИ с большим количеством лабораторных работ. Очень рекомендую!
Сегодня выступил перед старшеклассниками на летней олимпиадной школе. Рассказывал про ИИ и почему он не отберёт у них работу в будущем. Или всё-таки отберёт? 🤔 Судя по моему выражению лица на второй фотке, всё не так однозначно 😁
Ребята большие молодцы, с интересом слушали и задавали много классных вопросов. Мой самый любимый - "А зачем тогда нужны люди?" 🙃
Ребята большие молодцы, с интересом слушали и задавали много классных вопросов. Мой самый любимый - "А зачем тогда нужны люди?" 🙃
Не так давно составлял индивидуальный учебный план для одного из подписчиков, который хотел перейти в сферу data science / machine learning. План был сильно "заточен" под этого конкретного человека и его бэкграунд. Потом я подумал, что будет полезно также опубликовать здесь обобщённый учебный план для тех, кто хотел бы заниматься машинным обучением, но не знает, с чего начать. Надеюсь, кому-то из вас будет полезно! Смотрите следующий пост.
#ml #career
#ml #career
Учебный план для погружения в data science и machine learning с нуля
Включает области, которые нужно "прокачать", кратко - зачем это нужно, а также ссылки на ресурсы (старался подбирать бесплатные и русскоязычные).
1) Программирование на Питоне
1.1) Базовый синтаксис языка
Python - "родной" язык для машинного обучения и интеллектуального анализа данных.
https://stepik.org/course/58852/
https://stepik.org/course/67/
1.2) Основы объектно-ориентированного программирования (ООП)
Нужно, чтобы реализовывать собственные компоненты на основе существующих библиотек. Для этого нужны некоторые знания ООП, хотя и в меньшем объеме, чем для бэкенд-разработки.
https://stepik.org/course/100558/ - для C++, но хорошая теоретическая база по ООП и паттернам, можно взять выборочно
https://stepik.org/course/114354/ - для Python, но платный курс
https://stepik.org/course/94022/ - для Python и бесплатный, но незавершённый
Дополнительно: читайте открытый код на гитхабе. Отдавайте предпочтение репозиториям с большим количеством звёзд. Можно поизучать, как устроены известные библиотеки. Почти во всех применяется ООП.
1.3) Алгоритмы (не МЛ, а классические: сортировка, нахождение пути и т.д.)
В некоторых компаниях в качестве скрининга предлагают решить 1-2 задачи на алгоритмы. Знание алгоритмов нужно не только бэкенд-разработчикам. Оно помогает всем писать более качественный код.
https://stepik.org/course/217/
https://stepik.org/course/1547/
2) Математика: матанализ, теория вероятностей, статистика, линейная алгебра.
Нужно для более глубокого понимания того, как работают алгоритмы машинного обучения. Есть мнение, что математика в ML/DS нужна не всем и не всегда. Моё дело - предложить. :)
На начальном этапе я бы не отделял это от изучения машинного обучения (см. соответствующий раздел). Во многих учебниках и курсах по машинному обучению есть в начале разделы по математике - их объёма вполне достаточно на первых порах.
3) Анализ данных
Обучение модели обычно начинается с разведочного анализа данных. "Become one with your data" (c) A. Karpathy
3.1) Теория анализа данных
https://stepik.org/course/73952/ (тут есть и машинное обучение)
https://stepik.org/course/57623/ (тут больше на статистику упор)
3.2) NumPy и Pandas - базовые библиотеки для анализа данных
https://stepik.org/course/120014/ - платный курс
Но в сети также есть много бесплатных тьюториалов.
4) Машинное обучение
Нужно изучить не только алгоритмы машинного обучения, но и лучшие практики обучения моделей и внедрения их в реальные продукты.
https://stepik.org/course/4852/
https://stepik.org/course/8057/
Как обобщение всего пройденного с заходом на новый уровень - глубокое обучение - рекомендую школу глубокого обучения МФТИ:
https://stepik.org/course/135002/
Также мне очень нравится книга: Николенко, Кадурин, Архангельская "Глубокое обучение. Погружение в мир нейронных сетей". С нуля читать будет сложновато, а вот с некоторой базой - очень полезно.
5) Дальше нужно выбирать специализацию: структурированные данные, тексты, изображения или звук. Это особая история, выходящая за рамки базового учебного плана. Может быть, ещё поговорим об этом отдельно.
Включает области, которые нужно "прокачать", кратко - зачем это нужно, а также ссылки на ресурсы (старался подбирать бесплатные и русскоязычные).
1) Программирование на Питоне
1.1) Базовый синтаксис языка
Python - "родной" язык для машинного обучения и интеллектуального анализа данных.
https://stepik.org/course/58852/
https://stepik.org/course/67/
1.2) Основы объектно-ориентированного программирования (ООП)
Нужно, чтобы реализовывать собственные компоненты на основе существующих библиотек. Для этого нужны некоторые знания ООП, хотя и в меньшем объеме, чем для бэкенд-разработки.
https://stepik.org/course/100558/ - для C++, но хорошая теоретическая база по ООП и паттернам, можно взять выборочно
https://stepik.org/course/114354/ - для Python, но платный курс
https://stepik.org/course/94022/ - для Python и бесплатный, но незавершённый
Дополнительно: читайте открытый код на гитхабе. Отдавайте предпочтение репозиториям с большим количеством звёзд. Можно поизучать, как устроены известные библиотеки. Почти во всех применяется ООП.
1.3) Алгоритмы (не МЛ, а классические: сортировка, нахождение пути и т.д.)
В некоторых компаниях в качестве скрининга предлагают решить 1-2 задачи на алгоритмы. Знание алгоритмов нужно не только бэкенд-разработчикам. Оно помогает всем писать более качественный код.
https://stepik.org/course/217/
https://stepik.org/course/1547/
2) Математика: матанализ, теория вероятностей, статистика, линейная алгебра.
Нужно для более глубокого понимания того, как работают алгоритмы машинного обучения. Есть мнение, что математика в ML/DS нужна не всем и не всегда. Моё дело - предложить. :)
На начальном этапе я бы не отделял это от изучения машинного обучения (см. соответствующий раздел). Во многих учебниках и курсах по машинному обучению есть в начале разделы по математике - их объёма вполне достаточно на первых порах.
3) Анализ данных
Обучение модели обычно начинается с разведочного анализа данных. "Become one with your data" (c) A. Karpathy
3.1) Теория анализа данных
https://stepik.org/course/73952/ (тут есть и машинное обучение)
https://stepik.org/course/57623/ (тут больше на статистику упор)
3.2) NumPy и Pandas - базовые библиотеки для анализа данных
https://stepik.org/course/120014/ - платный курс
Но в сети также есть много бесплатных тьюториалов.
4) Машинное обучение
Нужно изучить не только алгоритмы машинного обучения, но и лучшие практики обучения моделей и внедрения их в реальные продукты.
https://stepik.org/course/4852/
https://stepik.org/course/8057/
Как обобщение всего пройденного с заходом на новый уровень - глубокое обучение - рекомендую школу глубокого обучения МФТИ:
https://stepik.org/course/135002/
Также мне очень нравится книга: Николенко, Кадурин, Архангельская "Глубокое обучение. Погружение в мир нейронных сетей". С нуля читать будет сложновато, а вот с некоторой базой - очень полезно.
5) Дальше нужно выбирать специализацию: структурированные данные, тексты, изображения или звук. Это особая история, выходящая за рамки базового учебного плана. Может быть, ещё поговорим об этом отдельно.
Stepik: online education
"Поколение Python": курс для начинающих
В курсе рассказывается об основных типах данных, конструкциях и принципах структурного программирования языка Python. Курс содержит теорию в формате текстовых конспектов и более 500 задач с автоматизированной проверкой. Этот курс является первой частью линейки…
Как многие знают, NLP сейчас в тренде – особенно всё, что касается больших языковых моделей (large language models или LLM). Крупные компании обучают свои аналоги ChatGPT, а небольшие стартапы строят свои продукты на основе АПИ от OpenAI. Сделал для вас небольшую подборку полезных бесплатных ресурсов, которые помогут относительно быстро “вкатиться” в LLM, особенно если у вас уже есть некоторый опыт в ML и NLP. Всё на английском.
1. LLM best practices от Weights&Biases
https://wandb.ai/site/llm-whitepaper
2. Patterns for Building LLM-based Systems & Products
https://eugeneyan.com/writing/llm-patterns/
3. OpenAI best practices
https://platform.openai.com/docs/guides/gpt-best-practices
4. DeepLearning.AI short courses
https://www.deeplearning.ai/short-courses/
Изучение этих ресурсов должно дать понимание, как и для чего применять LLM, когда имеет смысл обучать свою модель, а когда достаточно существующих, и т.д. Это поможет вам не только в профессиональном развитии и работе над своими проектами, но и для прохождения собеседований, ведь, как я уже сказал, LLM – это горячая тема.
Безусловно, LLM – не абсолютная панацея. Бывает так, что применять их к конкретному запросу от вашего заказчика – не самая лучшая идея. Но и в этом случае полезно ориентироваться в теме, чтобы аргументированно обосновать свой отказ от этой технологии.
1. LLM best practices от Weights&Biases
https://wandb.ai/site/llm-whitepaper
2. Patterns for Building LLM-based Systems & Products
https://eugeneyan.com/writing/llm-patterns/
3. OpenAI best practices
https://platform.openai.com/docs/guides/gpt-best-practices
4. DeepLearning.AI short courses
https://www.deeplearning.ai/short-courses/
Изучение этих ресурсов должно дать понимание, как и для чего применять LLM, когда имеет смысл обучать свою модель, а когда достаточно существующих, и т.д. Это поможет вам не только в профессиональном развитии и работе над своими проектами, но и для прохождения собеседований, ведь, как я уже сказал, LLM – это горячая тема.
Безусловно, LLM – не абсолютная панацея. Бывает так, что применять их к конкретному запросу от вашего заказчика – не самая лучшая идея. Но и в этом случае полезно ориентироваться в теме, чтобы аргументированно обосновать свой отказ от этой технологии.
Всем привет! У нас в компании (напомню, это Центр искусственного интеллекта МТС) есть пара интересных NLP-вакансий. Наши рекрутеры попросили порекомендовать кого-то из знакомых, потому что от меня уже было несколько удачных рекомендаций. 💼🙌 Кажется, эти вакансии пока не опубликованы у нас на сайте.
Здесь в канале есть NLP-шники с опытом, многих из вас я знаю лично. Нужен мидл и мидл+/сеньор. Если хотите узнать подробности и (при совпадении опыта и интересов) получить мою рекомендацию, пишите в личку, контакты в описании канала. 🤝
А вот, кстати, список тех вакансий, что опубликованы:
https://mts.ai/ru/career/
Там довольно разнообразно. 👀
Здесь в канале есть NLP-шники с опытом, многих из вас я знаю лично. Нужен мидл и мидл+/сеньор. Если хотите узнать подробности и (при совпадении опыта и интересов) получить мою рекомендацию, пишите в личку, контакты в описании канала. 🤝
А вот, кстати, список тех вакансий, что опубликованы:
https://mts.ai/ru/career/
Там довольно разнообразно. 👀
mts.ai
Карьера в компании MWS AI - Вакансии
Карьерные возможности в компании МВС АИ: мы создаем все условия для комфортной работы и развития.
Завтра (суббота 23 сентября 2023) в 18:00 Мск буду делать доклад для нижегородского ODS-сообщества. Если хотите послушать о новейших паттернах и лучших практиках применения и обучения больших языковых моделей (large language models, LLM), приходите!
https://us02web.zoom.us/j/86771868132
Кроме моего, там будет ещё один доклад: Александр Пономаренко, научный сотрудник лаборатории Латас НИУ ВШЭ, расскажет про метод NeuralODE.
https://us02web.zoom.us/j/86771868132
Кроме моего, там будет ещё один доклад: Александр Пономаренко, научный сотрудник лаборатории Латас НИУ ВШЭ, расскажет про метод NeuralODE.
Лучшие практики LLM 20230923.pdf
1.9 MB
Спасибо всем, кто приходил вчера послушать мой доклад!
Пока ждём видеозапись (обещают через пару недель выложить на YouTube), предлагаю посмотреть мои слайды. Там много нейроартов)
Пока ждём видеозапись (обещают через пару недель выложить на YouTube), предлагаю посмотреть мои слайды. Там много нейроартов)
Извините, что так много анонсов в последнее время и мало содержательных постов, обещаю исправиться! 😖
А пока - вот ещё один анонс. 🙈 Позвали выступить на Фенисте (Фестиваль наук, искусств и технологий Института прикладной физики РАН). Кто в Нижнем и есть время вечером, заходите, пообщаемся!
https://vk.com/wall-45512825_1430
А пока - вот ещё один анонс. 🙈 Позвали выступить на Фенисте (Фестиваль наук, искусств и технологий Института прикладной физики РАН). Кто в Нижнем и есть время вечером, заходите, пообщаемся!
https://vk.com/wall-45512825_1430
VK
Фестиваль «Фенист». Пост со стены.
А в очной программе в Институте прикладной физики РАН сегодня лекция про ChatGPT🤖
Наш спикер ... Смотрите полностью ВКонтакте.
Наш спикер ... Смотрите полностью ВКонтакте.
Если вдруг вы, как я, холодным субботним вечером задались вопросом, а можно ли в Питоне построить простую диаграмму Венна, то вот ответ:
Кстати, посмотрите внимательно код, ниже будет мини-квиз)
python
#!pip install matplotlib-venn
from matplotlib import pyplot as plt
from matplotlib_venn import venn3
ai = set(['AI1', 'AI2', 'AI3', 'NLP', 'NLP/ML', 'ML'])
nlp = set(['NLP', 'NLP/ML'])
ml = set(['NLP/ML', 'ML'])
diagram = venn3([ai, nlp, ml], ('AI', 'NLP', 'ML'))
for label in diagram.subset_labels:
if label is not None:
label.set_visible(False)
plt.show(out)
Кстати, посмотрите внимательно код, ниже будет мини-квиз)
А зачем нам во множестве `ai` целых три строки: "AI1", "AI2", "AI3", а не просто "AI"?
Anonymous Quiz
4%
Это ни на что не влияет, ведь эти строки есть только в первом множестве
39%
Чтобы круг AI на диаграмме получился визуально больше
51%
Чтобы у нас получилось всего три круга
6%
Чтобы цвет круга был розовенький
Вам нужно с нуля разобраться в новой для вас ML-задаче, например, named entity linking. Что будете делать в первую очередь? (можно выбрать несколько вариантов)
Anonymous Poll
70%
Просто погуглю по названию задачи
45%
Буду читать научные статьи (Google Scholar, Semantic Scholar, Arxiv Sanity, Papers with Code и т.п.)
43%
Пойду на GitHub искать готовые решения с большим количеством звёзд
22%
Brain storm со своей командой / спрошу у опытных знакомых
12%
Спрошу в специализированных чатах
38%
Спрошу у ChatGPT
11%
Спиритический сеанс
0%
Свой вариант в комментариях
У меня для вас снова вакансии в Центре искусственного интеллекта МТС! На этот раз - AI-тренер и Prompt-инженер. Приходите к нам работать! 😉🤝
Чем занимаются AI-тренеры и prompt-инженеры, в чём разница между ними? Обе эти профессии обычно не предполагают написание кода, но навыки программирования, конечно же, будут плюсом! 🙌 AI-тренеры занимаются созданием качественных обучающих примеров для ИИ. Когда ваша модель учится на различных инструкциях, написанных экспертами, AI-тренеры - это те самые эксперты. Prompt-инженеры - это мастера "общения" с уже обученными моделями. Они умеют правильно задавать нейросети вопросы, чтобы получать более полные и точные ответы. И AI-тренеры, и prompt-инженеры также занимаются оценкой качества ответов ИИ, анализируя сильные и слабые места и предлагая гипотезы по улучшению моделей. 💡
Исследователи и ML-инженеры занимаются обучением моделей и выводом их в продакшн, но без хороших данных и надёжных методов оценки нельзя получить сильную модель. Именно поэтому так важны крутые специалисты по созданию обучающих примеров, идеально подходящих под задачу. А когда сложно или невозможно автоматизировать оценку качества выполнения машиной той или иной задачи, нужны люди, способные объективно и грамотно оценивать ответы модели. 💪🦾
Чем занимаются AI-тренеры и prompt-инженеры, в чём разница между ними? Обе эти профессии обычно не предполагают написание кода, но навыки программирования, конечно же, будут плюсом! 🙌 AI-тренеры занимаются созданием качественных обучающих примеров для ИИ. Когда ваша модель учится на различных инструкциях, написанных экспертами, AI-тренеры - это те самые эксперты. Prompt-инженеры - это мастера "общения" с уже обученными моделями. Они умеют правильно задавать нейросети вопросы, чтобы получать более полные и точные ответы. И AI-тренеры, и prompt-инженеры также занимаются оценкой качества ответов ИИ, анализируя сильные и слабые места и предлагая гипотезы по улучшению моделей. 💡
Исследователи и ML-инженеры занимаются обучением моделей и выводом их в продакшн, но без хороших данных и надёжных методов оценки нельзя получить сильную модель. Именно поэтому так важны крутые специалисты по созданию обучающих примеров, идеально подходящих под задачу. А когда сложно или невозможно автоматизировать оценку качества выполнения машиной той или иной задачи, нужны люди, способные объективно и грамотно оценивать ответы модели. 💪🦾
hh.ru
Вакансия AI-trainer / тренер ИИ в Москве, работа в компании МТС (вакансия в архиве c 30 ноября 2023)
Зарплата: не указана. Москва. Требуемый опыт: 1–3 года. Полная занятость. Дата публикации: 31.10.2023.
