Как мы чуть не уничтожили хакатон по МТСЗадача
Нужно сделать сервис для людей с проблемами зрения, который помогал бы им смотреть фильм.
Решение:
У каждого фильма есть свои сцены
1 сцена: ♂️ Американец и Азиат стоят в раздевалке и смотрят на друг друга ♂️
2 сцена: ♂️ Они начинают бороться ♂️
3 сцена: ....
И к каждой сцене я могу сделать текстовое описание, смотря на картинку. Получается задача Scene2Text (Visual Language) и здесь нам помогла модель VinVL, которая и отдаёт описание сцены 🦾
Отделив сцены и дав им описание, мы отправляем всё это дело на фронт, где и склеивается наш ролик 🤖
Решение крутилось на nginx, Flask в Docker-контейнерах
Итог:
Мы заняли никакое место, хоть и постарались учесть и продуктовую и техническую часть. Поэтому запомните, что красивая презентация и внешняя картинка вашего продукта может сыграть ключевую роль 🏆
GitHub, YouTube
Уничтожение АлгоритмовЧтобы попасть в tier-one компанию вы должны лайкодить, а для этого нужно уничтожать алгоритмы и структуры данных
Вот ресурсы для низведения до нуля алгоритмов и структур данных:
1️⃣ NeetCode - работник гугла, очень много рассказывает про алгоритмы
2️⃣ RoadMap от NeedCode`a - необходимая и нерушимая база каждого лайвкодера, необходимо убить все эти задачи
3️⃣ Для закрепления ваших знаний и ещё большего погружения в мир алгосов
а) Тренировки по алгоритмам от Яндекса 1.0
б) Тренировки по алгоритмам от Яндекса 2.0
в) Тренировки по алгоритмам от Яндекса 3.0
4️⃣ Алгоритмы, Часть I
5️⃣ Специализация Data Structures and Algorithms
6️⃣ LeetCode - святило всех алгоритмов
7️⃣ Сложность алгоритмов
YouTube
NeetCode
Current NEET and ex-Google SWE, also I love teaching!
N.E.E.T. = (Not in education, employment or training)
Preparing for coding interviews? Checkout neetcode.io
N.E.E.T. = (Not in education, employment or training)
Preparing for coding interviews? Checkout neetcode.io
Глобальное уничтожение ML/AI & ML System Design
Здесь собрано огромное количество открытых курсов по ML / AI & ML System Design, чтобы уничтожать на собеседованиях, на работе, в соревнованиях.
Torch:
Classic ML:
Deep Learning:
NLP:
CV:
RL:
RecSys:
Примеры вопросов по ML:
ML System Design:
Тренировки:
Основу для материалов брал здесь, здесь и на основе собственного опыта
Please open Telegram to view this post
VIEW IN TELEGRAM
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
От синьки к зелёнке
Теперь я Middle Data Scientist at Sber, буду заниматься задачами NLP/NLU, а именно llm, генеративные/диффузионные модели (ChatGPT, Stable Diffusion). Сейчас буду заниматься ранжирование сообщейний, которые выходят из внутреннего Сберовского ЧатаХПТ 🥴
Что там я понял за это время: 😬
- никогда не бывает идеально выстраенных бизнесс-процессов в компаниях, всегда будут свои проблемы, которые могут очень неприятным образом вскрыться и через годы 😈
- компании хотят вас завлечь, поэтому не всегда верьте HR-ам, а делайте собвственный ресёрч компании 🤥
- по моему мнению, не стоит убиваться в копрорациях, делайте то, что от вас требуют. рост в больших корпоратах очень тяжёл и тернист, если только вам не предлагают опционы 😲
- удалёнка - имба, если вы имеет самодисциплину, это отличный вариант, чтобы чувствовать себя свободным и иметь огромное количество времени для собвстенного развития 😎
- хороший руководитель и хорошая команда = хорошая рабочий день и улыбка в конце дня, спасибо моей команде за приобритённый опыт 😘
- не забывайте о моралочке, так как работа никуда не уйдёт, а крыша поехать спокойно может 🥰
Благодарю Газ за приобретённый опыт, были и положительные, и отрицательные моменты - это нормально, учиться на ошибках - это не выбор, а необходимость 👆👆👆
Как обучить свой GPT даже на калькуляторе ?
Модели становятся всё больше и больше, поэтому стоит вопрос ребром про их оптимизацию. Тут на сцену выходит LoRA, делая грязь 💣
Смысл метода состоит в том, что она "исправляет ошибки" уже обученной модели, то есть мы импортируем предобученный трансформер, замораживаем его и делаем файн-тюнинг с помощью LoRA 🤖
И весь сок состоит в том, что LoRA состоит из двух матриц: A и B, размерности которых довольны малы по сравнению с матрицами трансформеров. A и B матрицы имеют размеренность (1, 8) на (длина входного вектора), вот почему LoRA - Low Rank ⚡️
Мы теряем в общности, но и не страшно, по мнению авторов статьи, большинство параметров в моделях "не работают", являются около нулевыми 🤫
Также для обучения требуется малое количество обучаемых параметров, около 3% от замороженной модели, также веса занимают меньше места на диске 💽
Статья на хабре , arxiv , лекция на ютубе , практика на ютубе
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
13B and 70B 32k models with the supervised fine-tuning, which is feasible for long context
LongLoRA - эффективный подход к файнтюнингу, позволяющий расширить размер контекста предварительно обученных больших языковых моделей (БЯМ) при ограниченных вычислительных затратах.
ai_machinelearning_big_data
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
как перейти из джунов в мидлы
🍼💪Я это говорю со своей колокольни, основываясь на личном опыте
Давайте начнём с того чем отличается джун от мидла.
Во-первых, постановка задачи 🤷♂️
Если к вам подошёл бизнес и сказал, что нужно больше денег, то сеньоры и лиды находят и формулируют проблему. Проблема такова: слишком много людей тратит времени на это задачу A, давайте как-то её решим👍👍👍
Мидлы ,понимая проблему, придумывают идею как её решить - давайте соберём данные здесь, затрейнимся на этом, затестимся на том и используем катбуст👍👍
Джуны, в свою очередь, уже делают это решение по заданному шаблону👍
Поэтому кругозор джунов, грубо говоря, ограничивается только выполнением задачи по тз👶
Во-вторых, это харды 💻
Мидл может взять любую задачу, сам разобраться, сам написать код и грамотно оценить инференс модели. Джун в большей степени спрашивает у старших - это нормально, он так учится. Естественно мидл тоже спрашивает, но реже🦍
В-третьих, это коммуникация с бизнесом 💸
Мидл или сеньор спрашивают требования, корректировку тз и многое другое, также они зачастую презентуют модели, метрики качества и успехи. Джуны делают грязюку в основном, то есть сугубо пишут код 💩
По итогу, самый главный прирост из джунов в мидлы - это брать больше ответственности, выходить за рамки моделей, а погружаться в другие сферы работы: почему бизнес принимает это решение, почему мы не можем запустить эту модель? 🧔♂️
Также брать больше ответственности в хардовых вопросах: какая модель будет лучше, какие гиперпараметры подобрать, а хорошие ли данные я использую? 👴
Собес 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
Forwarded from Борис опять
#работа
# Методичка по поиску работы в ML/DS и IT в целом
В канале накопилось немало материала про поиск работы. Я собрал, дополнил и превратил всё в небольшую книжку.
Все кратко и по делу. Чтения минут на 30. Внутри рассматриваю поиск работы с самых азов и до деталей с примерами из жизни.
https://btseytlin.github.io/intro.html
Если вы давно читаете этот канал и хотели бы ему помочь, то вот лучший способ: скиньте методичку кому-то из друзей.
@boris_again
# Методичка по поиску работы в ML/DS и IT в целом
В канале накопилось немало материала про поиск работы. Я собрал, дополнил и превратил всё в небольшую книжку.
Все кратко и по делу. Чтения минут на 30. Внутри рассматриваю поиск работы с самых азов и до деталей с примерами из жизни.
https://btseytlin.github.io/intro.html
Если вы давно читаете этот канал и хотели бы ему помочь, то вот лучший способ: скиньте методичку кому-то из друзей.
@boris_again
Деньги - это главное... для бизнеса
💵Первая цель бизнеса - это постоянная прибыль, а не качественный продукт или помощь всему миру. На что ты будешь жить, если у тебя убыточная компания? На помощь всему миру? Именно поэтому в компаниях требуют, чтобы ML приносил деньги, а не просто, чтобы модель была ради модели 🤖
И бывает так, что ребята сразу строят нейронку на 7b параметров, обучают её и стараются выкатить в прод, выходя с обосранными штанами 💩
Но в большинстве случаев простой tf-idf + svm и качественный вывод в прод может дать наиболее лучший результат, если ваша цель - это прибыль 🤑
Вот несколько причин:
1️⃣ Обучение на практике
Если это ваша первая модель, то нужно построить бейзлайн и гнаться за набиванием ошибок в онлайне, а не за сранной метрикой в оффлайне. Ведь ваша цель не обучить её у себя в ноутбуке, а быстрее выкатить модель, дать предикт на пользвователях, даже если он будет не такой хороший как у нейронки, и собрать нужные метрики для улучшения модели📝
2️⃣ Интерпритация
ML можно намного качественне интерпитировать нежели нейронки, что может помочь уменьшить риски, что модель будет ввести себя как обезьяна с гранатой 🐒💣
3️⃣ Уменьшение рисков
Также большую роль играет размер модели, намного проще задеплоить катбуст нежели ЛЛМку на 7B и откатать процесс деплоя на более маленьких моделей, а не страдать сутками с гигантской нейронкой, не понимая почему у вас кластер отваливаетсяя, но в любом случае с ML-ом вы тоже пострадаете 🤕
4️⃣ Проверка гипотез
А нужна ли ваша модель пользователям ? А будет ли ваша модель работать и показывать нужный результат? Намного проще выпустить простой бейзлайн и иметь представление о там как реально проходят процессы вокруг этой модели 💸
Вывод:
Не бегите за моделью ради модели, стремитесь больше пользы принести продукту, отталкиваясь от проблем вашей ЦА, тогда и вы будете довольны и ЦА удолетворён новой фичей)