commit history – Telegram
commit history
3.41K subscribers
25 photos
7 videos
2 files
51 links
история моих коммитов про машинное обучение, карьеру и набитые шишки

@ibragim_bad
Download Telegram
Channel created
Channel photo updated
Создал еще один канал помимо @ibragim_txt
Сюда буду скидывать всякие ссылки с комментами и заметки. Тематика: ML/NLP/#career
Три года назад я устроил "сам себе буктемп" по вкатыванию в machine learning. На тот момент, я умел только немного писать код на С. Тогда я обложил себя всеми бесплатными курсами и ресурсами до которых дотянулся.

Потом нашел стажировку, которая стала работой. Проработав год, я откалибровал те курсы, которые оказались наиболее полезными и собрал репозиторий fast-internship-curriculum
🔥3
Включил комменты, заодно закину ссылку на пост про >500$/month side projects

из топ комментов там:
1. шаблоны для саас на джанго приносят >5k$. там у него даже ссылка есть сколько он времени потратил
2. чувак завернул аналитику по акциям в красивый ui и типа как платные сигналы приносит 120k$/month прибыли говорит. Естественно не на сигналах, а на продаже подписок 🌚
3. Кофейная ферма в Колумбии. 800$/month.

Вообще, мне лень заходить на hackernews, поэтому я либо иногда смотрю топ за месяц, либо листаю канал куда парсятся топ комменты
@hn_best_comments
👍3
Если бы мне нужно было сделать презентацию или отчет по модели. Либо выложить инфу про нее на сайт, чтобы продавать апишку, я бы за основу взял формат карточек гугла.

https://modelcards.withgoogle.com/face-detection#overview

На что обратить внимание:

1. Метрики посчитали не только overall, но и sliced (на подвыборках по полу, расе, возрасту). Когда ты большая корпорация с fairness моделей шутки плохи.
2. Четко описали Limitations и на чем будут косяки
3. Можно загрузить фотку и оценить.

Вообще для доверия и чтобы заказчик фичи оценил модель, оч хорошая практика дать ему модель пощупать после презентации. Я обычно модели заворачиваю либо в бота в телеге, либо в streamlit.
Иллюстрированные конспекты на Стэнфордские cs221 - AI, cs229 - ML, cs230 - DL


Удобный формат, чтобы освежить знания базовых концептов перед собеседованиями. Для изучения с нуля — не подойдут. Еще там есть переключатель на конспекты про python и sql.

https://stanford.edu/~shervine/teaching/cs-230/
Вброшу ссылок про литкод, мб кому пригодится.

В некоторых компаниях есть этап собеседования с алгоритмическими задачами. На собеседованиях ничего сложнее провалидировать скобки не попадалось, но если в стартапе есть ex-FAANG(MANGA) сотрудник, то могут дать что-то и на динамическое программирование. Ну и в компаниях упомянутых это тоже обязательный пункт. Олимпиадным программированием я не занимался, образование у меня не CS, поэтому все необходимые знания берем из интернета.

На литкоде есть раздел обучения, основные темы разобраны норм + есть практика в виде задачек. Для некоторых задач есть формальные доказательства решений и скорости (У меня правда на собесе такое только 1 раз спрашивали).
https://leetcode.com/explore/learn/

Есть переводы статей одного китайца. Оформлена в виде глав. Некоторые темы разобраны лучше, чем на литкоде, например, логика разделения на паттерны бинарного поиска.
https://labuladong.gitbook.io/algo-en/iii.-algorithmic-thinking/detailedbinarysearch

Список задач, покрывающий основные темы. Удобная сортировка по темам, сложности и компаниям + можно отмечать прогресс:
https://seanprashad.com/leetcode-patterns/

Данный список включает в себя задачи из списка blind-75
https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-100-LeetCode-Questions-to-Save-Your-Time-OaM1orEU
+ с курса на educative.
https://www.educative.io/courses/grokking-the-coding-interview

Решения задач, если где-то застряли можно посмотреть вот тут: https://www.youtube.com/watch?v=KLlXCFG5TnA&list=PLot-Xpze53ldVwtstag2TL4HQhAnC8ATf
Объяснения оч четкие и приятный английский. Изложение более интуитивно понятное, чем решения на литкоде и можно посмотреть за ходом мыслей.

Если кто хочет более фундаментальной подход, вот курс Седжвика https://www.coursera.org/learn/algorithms-part1#syllabus (но задания на джаве там)
👍20🔥81
Сейчас будет небольшой пост про статью, которую прочитал. Но перед этим немного терминологии. Я почти три года работаю с ML в диалоговом домене, это все про чит-чат модели или болталки. Поэтому будет много постов именно про этот домен NLP. Болталки - модели, которые могут поддержать беседу, независимо от темы. Базово тут работают два подхода:

+ Retrieval - основанный на поиске. Для фразы пользователя при текущем контексте вы выбираете подходящий ответ из своей базы в 100k ответов например.
+ Generative - модель генерирует ответ слово за словом (токен за токеном), как бы дописывая ответ на фразу пользователя. Что-то типа автодополнения на телефоне.

Еще есть просто rule-based древовидные сценарии, но их мы касаться особо не будем.
В конце прошлого года вышла обзорная статья про Этические и социальные риски больших языковых моделей.

https://arxiv.org/pdf/2112.04359.pdf

Статья актуальная, в своей работе мы каждый день сталкиваемся с этими рисками и придумываем разные хаки, чтобы их обойти.

Приведу список рисков ЯМ именно в диалоговом домене. Риски больше для генеративных языковых моделей, retrieval подходы более безопасные, но все равно не лишены рисков (discrimination, например):

1. Discrimination — когда в ЯМ воспроизводит стереотипы из данных. Например, “два чеченца зашли в метро” и … или “Молодая девушка заработала кучу денег, тем что снимала …”. Если модель предлагает неэтичное продолжение - принцип fairness не соблюден.
2. Toxicity — при правильном подходе можно спровоцировать генерировать ЯМ мат и оскорбления.
3. Information Hazards - если модель обучалась на приватных данных, можно попробовать их вытащить. Пример, “личная электронная почта Илона Маска: ….”
4. Misinformation Harms — генеративные модели любят выдумывать ответы на вопросы, даже если не знают. В целом, это забавно, но человек может поверить ложной информации.
5. Human-Computer Interaction Harms — Тут чисто про Conversational Agents. Антропоморфизация ассистентов может привести к небезопасному использованию. Пару лет назад, с нами в хостеле жил мужик, который подкатывал к голосовому помощнику, потому что там был женский голос. Не знаю чем закончилась это история, но подобные штуки могут переносится потом и на общение с обычными людьми.

Как будет время и настроение, напишу что можно сделать с этими рисками. Или не делать: мы как-то обучили болталку общаться исключительно матом и оскорблениями, получился самый эмпатичный и эмоциональный собеседник!
👍3🥰1
Отдельный респект за reader's guide. Люблю когда авторы сразу четко пишут, что читать если нет времени или нужного бэкграунда.