Ebout Data Science | Дима Савелко – Telegram
Ebout Data Science | Дима Савелко
2.69K subscribers
201 photos
19 videos
101 links
Ebout Data Science by @ngmdite | По поводу менторства пиши на @savelkoteam
Download Telegram
💥 Глобальное уничтожение ML/AI & ML System Design 💥

Здесь собрано огромное количество открытых курсов по ML / AI & ML System Design, чтобы уничтожать на собеседованиях, на работе, в соревнованиях.

Torch:
1️⃣ Доклад инженера из Facebook AI Research Эдварда Янга, который состоит из двух частей. Первая - рассматриваются различные типы данных, используемые в PyTorch, и особенности их внутренней реализации, вторая - раскрываются принципы написания собственного ядра на базе PyTorch.
2️⃣ The Tensor Cookbook - книга с математической базой по тензорам, там есть как и жёсткий матан, так и для людей с личной жизнью. Для людей, которые знают, что такое личная жизнь, то вам подойдут главы: 1, 10, 12

Classic ML:
1️⃣ ODS - Open ML Course / DLS - мега база начинающего ML-щика
2️⃣ MLHandbook - параллельно с курсами нужно читать это
3️⃣ Joseph Misiti: awesome-machine-learning - Огромная подборка курсов по DS
4️⃣ ML Cheatsheet Documentation
5️⃣ Конспект по ML

Deep Learning:
1️⃣ ШАД DeepLearning - курс от ШАДа
2️⃣ Catalyst Team: DL_course - Курс по DL от тинька, DLS, Catalyst Team
3️⃣ Эффективный DL от ВШЭ и ШАДа
4️⃣ Эффективный DL от MiT
5️⃣ Имлпементация моделей на торче ❗️
6️⃣ Визуализация архитектур и можно поиграться с ними в гугл таблице
7️⃣ The Little Book of Deep Learning by François Fleuret - База про весь DL с визуализацией
8️⃣ Understanding Optimization of Deep Learning - База про оптимизацию

NLP:
1️⃣ ШАД NLP
2️⃣ ВШЭ NLP
3️⃣ Stanford NLP
4️⃣ Сборник вопросов по NLP для собесов
5️⃣ RoadMap по NLP
6️⃣ GPT from Scratch
7️⃣ Transformer, explained in detail
8️⃣ Полная история GPT
0️⃣ База по NLP от Lena Voita
🔟 NLP Курс от Андрея Карпатого (База) 🌟
1️⃣1️⃣ Блог с разбором разных тем в LLM - полезно для собесов
1️⃣2️⃣ Что такое GPT, Визуализация в трансформеров, Как работает механизм внимания, где ИИ хранит воспоминани - серия роликов от 3Blue1Brown про объяснение работы трансформеров и LLM
➡️RoadMap по уничтожению Трансформеров/LLM◀️


CV:
1️⃣ Stanford CV
2️⃣ MIT CV
3️⃣ Жёсткий курс от Мичигансково универстита по CV

RL:
1️⃣ ШАД RL

RecSys:
1️⃣ MTC. Your first recsys
2️⃣ MTC. Your Second RecSys
3️⃣ Deep Neural Networks for YouTube Recommendations
4️⃣ Preserving Integrity in Online Social Networks
5️⃣ Bag of Tricks for Efficient Text Classification
6️⃣ Wide & Deep Learning for Recommender Systems

Примеры вопросов по ML:
1️⃣ Quant notes
2️⃣ Data science interview questions and answers
3️⃣ 120 data science interview questions
4️⃣ Data-science-interviews

ML System Design:
1️⃣ Deep-Learning-in-Production
2️⃣ Production-Level-Deep-Learning
3️⃣ Monitoring Machine Learning Models in Production
4️⃣ Как в YouDo машинное обучение катится в продакшен
5️⃣ Мой пост про Глобальное унчитожение ML System Design 🥇
6️⃣ Книга Бабушкина по ML System Design
7️⃣ Дока от Валеры Бабушкина по ML System Design

Тренировки:
1️⃣ Задачи по Линейной алгебре/ML/DL, которые можно встретить на собесах

Основу для материалов брал здесь, здесь и на основе собственного опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥219🥰4👍1👀1
Ebout Data Science | Дима Савелко pinned «Уничтожение Алгоритмов Чтобы попасть в tier-one компанию вы должны лайкодить, а для этого нужно уничтожать алгоритмы и структуры данных Вот ресурсы для низведения до нуля алгоритмов и структур данных: 1️⃣ NeetCode - работник гугла, очень много рассказывает…»
Ebout Data Science | Дима Савелко pinned «💥 Глобальное уничтожение ML/AI & ML System Design 💥 Здесь собрано огромное количество открытых курсов по ML / AI & ML System Design, чтобы уничтожать на собеседованиях, на работе, в соревнованиях. Torch: 1️⃣ Доклад инженера из Facebook AI Research Эдварда…»
Как GPT-4 только бесплатно 💸

MiniGPT-4 - это модель разработанная ребятами из Саудовской Аравии. Модель выполняет такую же функцию, как и GPT-4, она понимает диалоги и принимает на вход картинки, также с ней можно общаться в форме диалога. Формулирует она предложения порой лучше, чем я, поэтому рекомендую к использованию 🤪. Такие функции на таком уровне ранее не встречались в языковых моделях и моделях визуального восприятия.

Она состоит из LLM модели Vicuna (отвечает за входящий/выходящий текст), а также Vision Transformer (отвечает за картинки).

Обучение MiniGPT-4 происходило в два этапа. Первый, этап предварительной подготовки, проводился на ~5 миллионах пар изображение-текст в течении 10 часов с использованием 4xA100. После первого этапа Vicuna стала способна понимать изображение. На втором этапе модель дообучилась на полученным в результате предыдущего шага наборе данных в виде диалоговых инструкций. В результате значительно улучшилось качество генерации ответов.

YouTube
🔥8❤‍🔥311👍1🐳1💅1
От синьки к зелёнке

Теперь я Middle Data Scientist at Sber, буду заниматься задачами NLP/NLU, а именно llm, генеративные/диффузионные модели (ChatGPT, Stable Diffusion). Сейчас буду заниматься ранжирование сообщейний, которые выходят из внутреннего Сберовского ЧатаХПТ 🥴

Что там я понял за это время: 😬

- никогда не бывает идеально выстраенных бизнесс-процессов в компаниях, всегда будут свои проблемы, которые могут очень неприятным образом вскрыться и через годы 😈

- компании хотят вас завлечь, поэтому не всегда верьте HR-ам, а делайте собвственный ресёрч компании 🤥

- по моему мнению, не стоит убиваться в копрорациях, делайте то, что от вас требуют. рост в больших корпоратах очень тяжёл и тернист, если только вам не предлагают опционы 😲

- удалёнка - имба, если вы имеет самодисциплину, это отличный вариант, чтобы чувствовать себя свободным и иметь огромное количество времени для собвстенного развития 😎

- хороший руководитель и хорошая команда = хорошая рабочий день и улыбка в конце дня, спасибо моей команде за приобритённый опыт 😘

- не забывайте о моралочке, так как работа никуда не уйдёт, а крыша поехать спокойно может 🥰


Благодарю Газ за приобретённый опыт, были и положительные, и отрицательные моменты - это нормально, учиться на ошибках - это не выбор, а необходимость 👆👆👆
🔥15👏6🥰52👍1💯1
Как обучить свой GPT даже на калькуляторе ?

Модели становятся всё больше и больше, поэтому стоит вопрос ребром про их оптимизацию. Тут на сцену выходит LoRA, делая грязь 💣

Смысл метода состоит в том, что она "исправляет ошибки" уже обученной модели, то есть мы импортируем предобученный трансформер, замораживаем его и делаем файн-тюнинг с помощью LoRA 🤖

И весь сок состоит в том, что LoRA состоит из двух матриц: A и B, размерности которых довольны малы по сравнению с матрицами трансформеров. A и B матрицы имеют размеренность (1, 8) на (длина входного вектора), вот почему LoRA - Low Rank ⚡️
Мы теряем в общности, но и не страшно, по мнению авторов статьи, большинство параметров в моделях "не работают", являются около нулевыми 🤫

Также для обучения требуется малое количество обучаемых параметров, около 3% от замороженной модели, также веса занимают меньше места на диске 💽

Статья на хабре , arxiv , лекция на ютубе , практика на ютубе
🔥102👍1🌭1
К посту выше😋
🥰3🕊1😈1
Forwarded from Machinelearning
🏆 LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models

13B and 70B 32k models with the supervised fine-tuning, which is feasible for long context

LongLoRA - эффективный подход к файнтюнингу, позволяющий расширить размер контекста предварительно обученных больших языковых моделей (БЯМ) при ограниченных вычислительных затратах.

🖥 Github: https://github.com/dvlab-research/longlora

📕 Paper: https://arxiv.org/abs/2309.12307v1

⭐️ Demo: https://b3cfcf9e79ff42df5f.gradio.live/

Dataset: https://paperswithcode.com/dataset/pg-19

ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭6😱31👍1🐳1
как перейти из джунов в мидлы 🍼💪

Я это говорю со своей колокольни, основываясь на личном опыте

Давайте начнём с того чем отличается джун от мидла.
Во-первых, постановка задачи 🤷‍♂️
Если к вам подошёл бизнес и сказал, что нужно больше денег, то сеньоры и лиды находят и формулируют проблему. Проблема такова: слишком много людей тратит времени на это задачу A, давайте как-то её решим👍👍👍
Мидлы ,понимая проблему, придумывают идею как её решить - давайте соберём данные здесь, затрейнимся на этом, затестимся на том и используем катбуст👍👍
Джуны, в свою очередь, уже делают это решение по заданному шаблону👍
Поэтому кругозор джунов, грубо говоря, ограничивается только выполнением задачи по тз👶

Во-вторых, это харды 💻
Мидл может взять любую задачу, сам разобраться, сам написать код и грамотно оценить инференс модели. Джун в большей степени спрашивает у старших - это нормально, он так учится. Естественно мидл тоже спрашивает, но реже🦍

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

По итогу, самый главный прирост из джунов в мидлы - это брать больше ответственности, выходить за рамки моделей, а погружаться в другие сферы работы: почему бизнес принимает это решение, почему мы не можем запустить эту модель? 🧔‍♂️
Также брать больше ответственности в хардовых вопросах: какая модель будет лучше, какие гиперпараметры подобрать, а хорошие ли данные я использую? 👴
🔥14😱3👍2👌1
Собес Tele2🤖

Был на собеседовании в Tele2 на позицию Middle Data Scientist NLP на 260к - 280к 💵

Были следующие вопросы:
1️⃣ На SQL 2 задачи:
- Даны две таблички, их нужно было просто INNER JOINить и вывести нужные поля
- Даны три таблицы, опять INNER JOIN, плюс вложенный запрос
2️⃣ Задача на теорию вероятностей:
Есть 500 уникальных карт, то есть с значением от 1 до 500.
Нужно посчитать вероятность того, что мы вытащим 3 карты и они будут по возрастанию.
Мне сказали ответ = 1/6, почему - я не понял.
3️⃣ Данны два numpy массива, нужно реализовать функцию подсчета recall

Итог:
Вопросы были адекватные, если позовут на следующий этап, то там будет ml system design
15🦄5🍌3🔥2👌2👍1
Forwarded from Борис опять
#работа

# Методичка по поиску работы в ML/DS и IT в целом

В канале накопилось немало материала про поиск работы. Я собрал, дополнил и превратил всё в небольшую книжку.

Все кратко и по делу. Чтения минут на 30. Внутри рассматриваю поиск работы с самых азов и до деталей с примерами из жизни.

https://btseytlin.github.io/intro.html

Если вы давно читаете этот канал и хотели бы ему помочь, то вот лучший способ: скиньте методичку кому-то из друзей.

@boris_again
🔥9👍2
Деньги - это главное... для бизнеса💵

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

И бывает так, что ребята сразу строят нейронку на 7b параметров, обучают её и стараются выкатить в прод, выходя с обосранными штанами 💩
Но в большинстве случаев простой tf-idf + svm и качественный вывод в прод может дать наиболее лучший результат, если ваша цель - это прибыль 🤑

Вот несколько причин:
1️⃣ Обучение на практике
Если это ваша первая модель, то нужно построить бейзлайн и гнаться за набиванием ошибок в онлайне, а не за сранной метрикой в оффлайне. Ведь ваша цель не обучить её у себя в ноутбуке, а быстрее выкатить модель, дать предикт на пользвователях, даже если он будет не такой хороший как у нейронки, и собрать нужные метрики для улучшения модели📝

2️⃣ Интерпритация
ML можно намного качественне интерпитировать нежели нейронки, что может помочь уменьшить риски, что модель будет ввести себя как обезьяна с гранатой 🐒💣

3️⃣ Уменьшение рисков
Также большую роль играет размер модели, намного проще задеплоить катбуст нежели ЛЛМку на 7B и откатать процесс деплоя на более маленьких моделей, а не страдать сутками с гигантской нейронкой, не понимая почему у вас кластер отваливаетсяя, но в любом случае с ML-ом вы тоже пострадаете 🤕

4️⃣ Проверка гипотез
А нужна ли ваша модель пользователям ? А будет ли ваша модель работать и показывать нужный результат? Намного проще выпустить простой бейзлайн и иметь представление о там как реально проходят процессы вокруг этой модели 💸

Вывод:
Не бегите за моделью ради модели, стремитесь больше пользы принести продукту, отталкиваясь от проблем вашей ЦА, тогда и вы будете довольны и ЦА удолетворён новой фичей)
7🦄3🍌2👌1
Познай трансформеры в 3D 🦍

На просторах интернета наткнулся на классный сайт для 3D визуализации трансформеров. Можно потыкать как конкретно умножаются матрицы под капотом, как работает self-attention в визуализации, да и в целом посмотреть на трансформеры с другой стороны 🤖

Ну и конечно же, чтобы полностью понять суть великого трансформера, то стоит в сокопуности посмотреть видео Котенкова про эту архитектуру 😎
🌭6🍌21🍓1
Собеседование в Транснефть на вилку от 230 💸

Побывал на собеседовании на позицию NLP Data Scientist. Сначала спросили про опыт, а потом по технической части меня стали гнать.

На собеседованиях такого рода вы можете встретить следующие вопросы:

1️⃣ Prompt-tuning 🤖
Вопрос: как заставить LLM выполнять любую задачу, допустим задачу классификации ?
Ответ: Сначала я сказал, что дообучить модель на задаче, но есть способ проще - это просто задать правильный промпт (Есть ли мат в данном предложении {предложение}, ответь да или нет)

2️⃣ Гиперпараметры и вставка в генерацию 💻
Вопрос: Как можно заставить модель генерировать по шаблону текст ?
Ответ:
1) Можно попробовать задать промпт, в котором будет правило как писать текст и поиграться с параметрами top_k и temperature
2) Также в момент генерации можно самостоятельно подсунуть модели токены для генерации
Суём во время генерации: json generation: {
И дальше модель генерирует сама начиная с json generation: { генерация.... }

3️⃣ Логиты ♾️
Вопрос: Как посмотреть уверенность модели в своём ответе?
Ответ: (Здесь могу ошибаться)
1) Посчитать лосс-функцию на генерации
2) Посмотреть на распределение логитов генерации

4️⃣ Retriever в Retrieval-Augmented Generation 🖥
Вопрос: Как улучшить Retriever ? (Retriever - модель, которая ищет релевантную информацию по запроу, другими словам, это поисковик)
Ответ:
1) Обучить энкодер на доменных данных, например с помощью Contrastive Learning
2) Улучшить разбиение на чанки, то есть на кусочки текста
3) Улучшить алгоритм поиска, например из 100 000 чанков с помощью ANN находим 50, а из 50 сортируем по косинусной близости

Вывод:
Собес мне очень понравился, вопросы по теме, которой они хотят ввести разработку. Интервьюер очень доброжелательный. Основываясь на отношении ко мне, команда ДСов в Транснефть халяль 🤤
🍌10👍2🔥2🎄2
100 вопросов на собеседовании NLP 🤖

На данном канале увидел классный сборник вопросов по NLP на собеседованиях.

Сборник представляет из себя notion, где есть несколько две темы и несколько подтем: Classic NLP и NLP and Transformers 🤤

Вопросы составлены на подтемы и вот несколько из них:

41. Что используется в трансформере layer norm или batch norm и почему?
75. В чем отличие оптимизатора Adam от AdamW?
98. Объясните принцип работы KV cache, Grouped-Query Attention и MultiQuery Attention.

Также в этом посте смотрите, как уничтожить собесы по ML & DL. Там собраны ультрамиллион полезных ссылок на источники, где вы можете изучать NLP, CV, RecSys, Classic ML и другое... 💪

👇В коментах скинул структуру вопросов👇
7🔥3👍1🥰1🍌1