Если по какой-либо причине вы считаете, что “Вас пока недостаточно для Симулятора ML”, и Вы только начинаете свой путь в увлекательный мир машинного обучения, рекомендую не пропустить выгодное предложение:
До конца августа доступен пакет: курс с нуля Start ML на 5 месяцев + 1 месяц подписки на Симулятор ML бесплатно (промокод: SimML1M). Этого суперкомбо будет более чем достаточно, чтобы не только заложить надёжную базу в ML, но и получить свой первый боевой опыт (например, поучаствовав в одном из пет-проектов Симулятора).
Подарочную подписку можно активировать в любой момент прохождения Start ML, например, Я лично рекомендую по завершении модуля «Основы машинного обучения».
Акция продлится до 31 августа, так что решайте, Вы готовы стать полностью укомплектованным ML инженером уже к весне 2024, или пока нет?
PET-PROJECTS
Спустя 1.5 месяца после записи, Симулятор ML вырос в 1.5 раза – с 200 человек до 300. Наконец публикуем долгожданный анонс нового направления, пет-проектов.
Считайте, теперь в Симуляторе ML, помимо основной кампании, доступна кооперативная игра! 😎
https://youtu.be/MJMjGRU8uUc
SKILLS: PART 1/3
Меня часто спрашивают, как стать крутым ML инженером, сделать качественный скачок в карьере, дойти до Senior. Делюсь пуленепробиваемой методикой, которой со Мной поделился Валера Бабушкин. Секрет прост как три рубля, но одновременно тернист.
😁 Шаг 1: Формулируем точку Б
Какая конечная цель? К чему хотим придти? Посмотрим на это как на задачу классификации: что делает ML инженер, когда формулирует проблему для модели? – он собирает датасет.
Я обратился к Валере с вопросом "как стать синьором?", он предложил Мне вспомнить всех синьоров, которых Я знаю лично. Из Х5 их набралось штук десять (из департамента в 150+ человек). Мы выписали всех, чтоб были перед глазами.
😁 Шаг 2: Определяем метрику
Чтобы чем-то управлять, надо это измерять. Как только мы поняли, к чему мы хотим придти, нам необходимо научиться понимать, двигаемся ли мы в верном направлении.
Мы выделили навыки (признаки в датасете), которые помогут отделять класс "синьоры" от "не-синьоров". В разрезе чего будем смотреть? Примерный список на выходе:
• Coding (Python, MLOps)
• SQL, Databases, Big Data
• Machine Learning
• ML System Design
• A/B Testing & Statistics
• People Management
• Self-Management (Discipline)
• Achievements, Authority
😁 Шаг 3: Измеряем точку Б
У нас есть цель, и есть критерии. Самое время определить, где находится наша цель.
Мы взяли список, взяли каждого синьора, и Я, опираясь на свои грубые субъективные прикидки, стал оценивать каждого в разрезе каждого навыка по шкале от 0 до 10. По каждому навыку оценки разнились, но медианный уровень был получен.
Сейчас, для себя, Я использую персентили. Например "60% в выступлениях" означает, что "Я думаю, что Я лучше, чем 60% из всех, кто выступает".
😁 Шаги 4-5-6: Играем в RPG
Итеративно:
- Честно оцениваем текущий уровень;
- Выявляем по каким навыкам наибольший пробел;
- Работаем над ошибками, учимся, ищем советов.
Каждое обновление в комментариях к карточке снабжается кейсом, ссылкой или другим артефактом, подтверждающим, что по этому навыку Я подрос.
#notion
Чтоб Вы понимали, насколько Я геймер, Моя сквозная аналитика круга общения:
#notion #theoryofmind
Стратегия выбора команды и партнёров
"Я знаю, чего ты хочешь" – больше чем ещё одна книга по психологии. Это простой, но глубокий фреймворк для анализа межличностных отношений, основанный на наблюдении за паттернами поведения в людях. Ядро книги – вопрос доверия, надёжности и нацеленности на долгосрочное партнёрство. Люди, демонстрирующие эти качества, стоят вашего времени и внимания. От них можно ожидать последовательности и предсказуемости. Наоборот, от людей, кто демонстрируют обратные качества, следует дистанцироваться (к вопросу о стратегии формировании своего социального круга).
Автор выделяет шесть ключевых аспектов поведения:
1. Вложения друг в друга
2. Продолжительность (стремление к долгосрочному партнёрству, а не краткосрочной выгоде)
3. Надёжность (сочетание компетентности и ответственности)
4. Модель поведения (ценности и принципы человека)
5. Язык доверия (искренность в общении)
6. Эмоциональная стабильность
К каждому из этих качеств прилагаются чеклисты паттернов и антипаттернов в конце каждой главы.
Сохраняйте их себе, делитесь с друзьями и близкими. Пусть они помогут вам в формировании окружения (включая выбор команды, руководителя и партнёров), которое вас не ослабляет или изнашивает, а наоборот, усиливает.
#books #theoryofmind
DATA ASSISTANT
На Моих первых местах работы очень напрягало постоянно терроризировать аналитиков, DQ, DE – вопросами, где какая таблица лежит, как они связаны между собой, как посчитать какую метрику и т.д.
2023: за 2 часа написал телеграм-бота с ChatGPT API, скормил ему DDL-схему всех таблиц в DWH (Data Warehouse) со всеми внешними ключами между таблицами. Теперь онбординги, поиски нужных данных (где что лежит, что есть в какой табличке или колонке, каким SQL-запросом их связать) – будут проходить с минимальным отвлечением коллег.
Осталось прикреплять ссылки на упоминаемые в ответе таблицы в dbdocs, где можно руками посмотреть, с какими она связана какими ключами, узнать источники, и прочитать значение колонок, и DWH-документация, буквально говорящая сама за себя, готова.
P.S. Думаю сделать это одной из задач Симулятора ML... к слову, у нас вчера полностью обновился лендос, как он вам? 😎
FIRST PRINCIPLE THINKING
THE PROBLEM-SOLVING 101
https://uberkinder.notion.site/First-Principle-Thinking-23029d70d67b4e73828fbb9f0289f09b?pvs=4
Каким взглядом мы, инженеры, смотрим на мир? Как мы разрабатываем высоконагруженные системы, строим небоскрёбы, запускаем ракеты? Как вообще мы думаем о проблемах – и как мы подступаемся к их решению?
Написал короткую заметку, которая отвечает на вопрос, каково это быть инженером, и какими принципами мы руководствуемся, когда решаем проблемы.
#MyProtocols
Стало интересно. Я выложил уже 6 своих протоколов. Есть ли, кто уже внедрил какой-то из них в свою жизнь?
Поделитесь впечатлениями.
DEADLINES 101
Я перманентно занимаюсь работой над собой, анализом своих ошибок. До сих пор, одна из Моих зон роста – это эстимейты, особенно в том, что касается активностей за пределами основной работы.
Делюсь гайдом, который Я изначально писал под себя, "как ставить дедлайны и не убить себя по пути". Вы узнаете, как делать эстимейты, на что коммититься (а на что лучше не стоит), как контролировать ожидания; поговорим про навык говорить "нет" и концепцию "мягких дедлайнов". В общем, всё то, в чем проседает львиная доля айтишников.
https://uberkinder.notion.site/Deadline-101-f26ed9af885448229f263313c6411244?pvs=4
P.S. Как всегда, делитесь своими ультимативными тактиками постановки дедлайнов. Возможно, что-то из предложенного тоже возьму на вооружение.
#MyProtocols
SHUTDOWN ROUTINE
Постоянство – драйвер долгосрочного роста. Залог постоянства – дисциплина. Дисциплина горит "нет" всем краткосрочным "хочу" в пользу долгосрочных целей. Она поднимает нас по утрам, независимо от того, как мы выспались и с какой ноги встали.
К дилетанту Муза приходит и уходит.
К профессионалу она приходит по расписанию.
Work-Life Balance не Моя сильная сторона. Но кое-что важное на эту тему Я сказать готов. В прошлом протоколе Я поделился своим режимом дня, и у вас были вопросы про Shutdown Routine. Если спросить Меня, что позволяет поддерживать этот режим дня изо дня в день, Я скажу: правильно его заканчивать. Дисциплина очерчивать чёткую границу между работой и жизнью, не пытаясь жертвовать отдыхом (и особенно сном) сегодня, отъедая половину времени и энергии от завтрашнего дня (чем сам Я частенько грешил по молодости).
Для завершения всех незавершённых дел нужен грамотно выстроенный ритуал (в полёте главное – мягкая посадка). Во время него мы "обнуляем контекст" в нашей голове, актуализируем задачи в системе, закрываем все "хвосты", прекращаем незавершённое процессы, которые в противном случае отвлекали бы нас во время отдыха, вызывая стресс ("я что-то ещё не доделал").
Free your mind. Keep your system up-to-date.
Вот Мой личный чеклист из 8 шагов, которыми Я завершаю каждый день (занимает меньше 15 минут): https://uberkinder.notion.site/Shutdown-Routine-59e5b26888744df2a394b053fba3f868?pvs=4
P.S. Если у вас выработан свой алгоритм заканчивать рабочий день, делитесь им в комментариях. Мне и другим будет ценно.
#MyProtocols
Personal Protocol: My Optimal Performance Manifesto
Вы просили чаще рассказывать о себе, поэтому продолжаю рубрику «Как Я живу». Делюсь ещё одним протоколом своей жизни (протоколами называю вслед за Andrew Huberman). Чувствую пора заводить отдельный тег.
Мои протоколы (в ноушене называю их CODEX) – это некоторая документация Меня, Моей жизни, как устроен какой-то процесс, каких принципов Я придерживаюсь в том-то роде деятельности.
Сегодня делюсь структурой своего дня + условиями работы по 12 часов.
https://uberkinder.notion.site/My-Optimal-Performance-Manifesto-e0a80a9ff8de4145ab213119f03905e0?pvs=4
P.S. Be free to ask any questions in comments.
В общем, мы сделали токсичную ChatGPT-2 на чистом numpy
. А как прошла ваша суббота?
COLOR CODING
В комментариях вы попросили Меня рассказать про цветовые обозначения. Всё банальнее, чем вы думаете.
Идея раз: мы делим жизнь на сферы, например: работа, здоровье, семья, друзья.
Идея два: мы пользуемся разными приложениями: календарь, заметки, задачник. В каждом есть "проекты" или "категории", которые можно ассоциировать с определённой сферой жизни.
Идея три: наша память любит повторяемость. Это помогает быстрее переключать (вспоминать) контекст.
Эти предпосылки много лет назад подтолкнули Меня к тривиальному лайфхаку: соблюдать консистентность в цветовых обозначениях во всех приложениях.
–––
Конкретная палитра – штука индивидуальная, Я использую следующие обозначения:
• Пурпурный: цвет фокуса и мистики – Я, Мой внутренний мир и всё про Self-Management.
• Красный: всё про работу, AI, цели, огонь амбиций; красный – цвет приоритета №1.
• Оранжевый: цвет денег, бизнеса, менеджмента (дистрибуции Моих знаний) – находится очень близко, с одной стороны, к красному (цвет работы), с другой стороны жёлтому (цвет работы над собой). Смущает, что не близко к синему.
• Жёлтый: саморазвитие, без шуток, когда произношу квантили и персентили, в голове тёплый жёлтый цвет; про саморазвитие в целом мы говорили здесь; ещё желтый ассоциируется у Меня с чтением.
• (Персидский) зелёный: здоровье и тело, цвет витальности, овощей и кето-диеты (хотя сейчас Я и на более строгой диете); ассоциируется с восстановлением, выглядит как шкала здоровья в играх.
• Синий/Голубой: про людей (друзья, отношения, связи); цвет спокойствия и надёжности. Задумывались, почему телеграм, фейсбук, твиттер – голубых или синих оттенков?
• Розовый: всё про прекрасных женщин и любовь.
#MyProtocols
P.S. Поделитесь в комментариях, занимаетесь ли вы подобным и если да, какие у вас ассоциации каких цветов в какими сферами?
Personal SCRUM
Фундаментом Моей системы являются недельные спринты (для себя так и называю, персональный SCRUM). Я пробовал планировать по месяцам, пробовал по двух-недельным спринтам. Но эмпирически выявил, что лучше всего лично для Меня работают недельные спринты (веду их уже 1.5 года, без остановок).
Неделя – это золотая середина между временем, за который можно сделать что-то серьёзное и ощутимое, – и период, за который всё ещё не теряется фокус (наш мозг с большой неохотой аллоцирует ресурсы на что-то далёкое и туманное, отсюда прокрастинация).
Описал принципы своего недельного планирования и актуальную структуру своих спринтов здесь: https://uberkinder.notion.site/Personal-SCRUM-d4cb79f07ee442b5a8ffe7dbc47f2ed2
Вообще, для любого человека, кто хочет навести порядок в своей жизни и взять всё под контроль, рекомендую начинать именно с осознанного еженедельного планирования.
P.S. Также прикрепляю 18-минутное видео Cal Newport (автора книг Deep Work, So Good They Can't Ignore You, Digital Minimalism, etc.), которое на 90% описывает Мою текущую систему планирования, притом максимально простым и доступным языком. Этот парень шарит.
#MyProtocols
В соавторстве с GPT-4 составили ещё один список. Как вам?
#notion #theoryofmind #chatgpt
Из папочки "Избранное". Игорь Котенков утверждает, что большинство людей неправильно учатся, и рассказывает методику, как правильно обучаться чему угодно:
0. Четко формулируешь проблему
1. 10 минут думаешь сам
2. 20 минут ищешь в интернетах
3. если не нашёл ответ, задаёшь вопрос
"Я ЗНАЮ, ЧЕГО ТЫ ХОЧЕШЬ"
Пожалуй, самая важная книга, которую Я прочитал за последние 365 дней. Книга учит, как выстраивать с людьми долгосрочные доверительные отношения, как слышать людей, их намерения и цели; на что обращать внимание; какие люди надёжные (предсказуемые, заслуживающие доверия), а какие нет; как научиться смотреть на ситуацию глазами другого человека (не побоюсь этого сравнения, но автор на голову выше Дейла Карнеги).
Ещё прослушав первые 2 главы (слушал аудиокнигой), уже будто просмотрел в ускоренной съёмке все свои отношения, конфликты и недопонимания со всеми коллегами, начальниками, партнёрами, друзьями, девушками. Увидел, где Я игнорировал очевидные сигналы и действовал, мягко скажем, недальновидно.
Система поведенческого анализа автора рассказывается через живые истории и сопровождается чеклистами вроде "признаки доверия" или "признаки стресса". Каждый хочется куда-то выписать и внимательно обдумать. Не успев прослушать до конца, уже запланировал второе прочтение, на этот раз в электронном виде, с ноушеном наготове.
Книгу рекомендую не только менеджерам и продажникам всех мастей (им она будет полезна в первую очередь), но и всем-всем-всем остальным. Без исключения. Definitely "Must Read".
#books #management
Есть классическая картинка для иллюстрации жизненного цикла технологических инноваций - Gartner Hype Cycle. Он, конечно, скорее про adoption компаниями, но почему бы не натянуть эту фигуру и на отдельного индивида? Кажется, что прошло уже достаточно времени, чтобы ChatGPT прошел через этот hype cycle персонально для меня и достиг плато продуктивности: равномерное использование, выжившие юзкейсы, отсутствие восторгов и разочарований.
Так вот, лично у меня сложилось четыре явных паттерна использования:
1) Бюрократ-копирайтер"Перепиши этот месседж для официального емейла / обращения в службу поддержки / аппликейшена в организацию / маркетингового описания"
. В общем, для переписывания текста. Например, так пишутся жалобы в банк, заблокировавший транзакцию, или описание биографии для сайта издательства.
2) Поверхностный эрудит"Опиши состояние дел в какой-то области / объясни с учетом моего уровня (не)знания в соседних областях"
. Примеры вопросов: какой софт используют 3д художники для работы с текстурами? чем replacement map отличается от height map? какие острова на Азорах выбрать для недельного отпуска, если меня интересуют хайки и природные достопримечательности? какие прикладные применения сверхпроводимости? Дьявол обычно в деталях, и слишком глубоко закапываться с LLM не стоит, но можно быстро получить поверхностное понимание.
3) Junior software engineer "Напиши прототип такой штуки, используя этот незнакомый мне, но популярный в целом API".
Из последнего: делал так ORM на SQLAlchemy и blender-скрипты для headless рендеринга. В обоих случаях хочется, чтобы оно хоть как-то работало, а разбираться в апи не хочется - не предполагаю, что этот код нужно будет долго поддерживать или развивать.
4) Въедливый критик
"Найди недостатки и корнеркейсы в следующей идее/коде/тексте: {{INSERT YOUR STUFF}}
". Люди неплохо справляются с поиском подтверждений своей идеи или дизайна (confirmation bias и его друзья), а по-хорошему надо искать опровержения и логические нестыковки. Кстати, отлично сочетается с предыдущим режимом использования: напиши-покритикуй-исправь-вываливай в продакшен.
Это именно персональные примеры использования, а не приложения вокруг API. Хотя я как раз использую не веб-интерфейс, а консольный heygpt: он быстрее, удобнее и даже дешевле, чем обычная подписка на GPT-4.
Расскажите в комментариях про сложившиеся у вас паттерны!
А вот и запись нашего с Игорем стрима, где мы 2 часа искали ответ на вопрос:
What Is ChatGPT Doing... and Why Does It Work?
Кто был на трансляции, либо уже успел посмотреть, пишите в комментариях ключевые идеи, которые вы забрали из нашего разговора 😎
Bag-of-tricks on how to make a Reliable ML Pipeline
https://youtu.be/SBP_p78FbMA
Вышла запись Моего вебинара с DataFest по мотивам нашего с Арсением курса по Reliable ML на Educative (курс про тестирование в машинном обучении, мониторинг, логгинование и другой MLOps).
Отдельная благодарность Ире и Диме за организацию трека по Reliable ML.
Ссылка на наш курс: https://www.educative.io/courses/reliable-machine-learning
CHATGPT FOR CONTINUOUS LEARNING
Rap God – Мой любимый клип у Эминема. Особенно нравится сцена, где Эминем лежит в глубоком трансе в библиотеке, и десятки роботов сканируют книги полка за полкой, подгружая информацию напрямую в мозг. Этот образ напоминает Мне Меня по воскресеньям, когда Я сканирую уже тридцатую книгу за день из своего Read-List через GPT-4 (а их там – за годы, что веду Notion – скопилось больше 300).
Обратил внимание, стал агрессивнее относиться к своему самообразованию за пределами работы, особенно в областях, где у Меня пробелы: маркетинг, артихетктура, переговоры и т.д. Тем более, что мы живём в то время, когда сцена из Матрицы, где Нео подгружал себе в мозг техники боевых искусств или навык управления самолётом, – уже не кажется фантастикой. Но ещё не все вокруг в полной мере это осознали.
Задумайтесь, каким конкурентным преимуществом станет для вас ChatGPT, если сложить кумулятивный эффект от его регулярного использования для саморазвития за годик-другой.
На эту тему у Меня, конечно же, есть свой протокол со стратегией непрерывного обучения с помощью ChatGPT, но её Я оставлю приватной. Поделюсь только первой секцией:
––––––
I. Identify Areas of Improvement
Here is a checklist of criteria that helps Me to identify what skills & knowledge I need to develop:
1. Current Challenges: Identify areas where you face challenges or obstacles. This could be at work, in a startup, or in personal life. What tasks take too much time? Where do you find yourself struggling?
2. Feedback: Carefully listen to your network. Consider the feedback from colleagues, mentors, or friends. What areas do they think you could improve upon or struggle with?
3. Skills Audit: Regularly conduct a Skills Audit. Determine which skills need to be improved, based on your current requirements, goals and future aspirations.
4. Back-propagation: Regularly debrief on your recent experiences. Use a DEBRIEF Telegram folder with tags like #bad, #good, #new, #todo, and #redo to analyze successes, failures, lessons learned daily, and potential improvements.
5. Less Wrong: Keep a record of hard decisions, failures, conflicts, opportunities, and dilemmas in a DECISIONS table in Notion. Write the context, pros and cons, decisions made, results, and lessons learned. This provides valuable insights into areas that require learning and development.
6. Self-Reflection (1:1s): Reflect on your own experience. What do you feel you need to know more about? This could be based on personal interests or gaps you've noticed unintentionally.
7. Future Requirements: Consider the future trends and requirements of your field. What skills are emerging as vital in the future? What will be aligned with your long-term strategy the most?
8. Curiosity: Last, but not least. Follow your curiosity. Are there areas or topics you're naturally drawn to? This can be a powerful guide for your learning journey, as we're often more motivated to learn about topics we're interested in.
...
#MyProtocols
SuperWebinar
Пока OpenAI решает проблему супер-алаймента, некто Игорь «Сиолошная» Котенков и Богдан «BOGDANISSSIMO» Печёнкин – решили провести супер-вебинар, во время которого разберут на мемы и панчи статью “What Is ChatGPT Doing … and Why Does It Work?” от Вольфрама (того самого, что сделал Wolfram Alpha).
Мы обсудим, как ChatGPT «думает» в момент генерации текстов, как, путешествуя в пространстве смыслов, он жонглирует эмбеддингами (что это вообще за звери, и с чем их вообще едят?), – и почему ChatGPT так хорошо понимает человеческий язык. Поговорим о таких вещах как креативность, несводимость вычислений, модель мира, а также узнаем сколько знаний могут вместить в себя современные языковые модели.
• КОГДА? – в пятницу, 18:00 МСК
• ГДЕ? – в Telegram-канале Игоря
Готовьте попкорн и колу без сахара.
Будет мемно и интеллектуально.
#ml #искусственный_интеллект
# The Bitter Lesson
The Bitter Lesson - знаменитое эссе от профессора Rich Sutton и один из самых важных текстов для спекциалистов по ML и всех пытающихся разобраться в буме AI. Текст написан в 2019 году и оказался пророческим, предсказав бум ChatGPT/GPT-4 и победу подхода OpenAI.
Речь вот о чем. Традиционно ученые в AI считали, что искусственный интеллект требует какого-то особого подхода, какой-то “звездной пыли.” Это называется inductive bias: некие особые знания о проблеме, направляющие машинное решение. Считалось, что чем умнее мы хотим получить машину, тем хитрее должны быть наши эвристики и тем глубже должно быть наше понимание проблемной области.
Эмпирически это казалось верным. Например, ученые наблюдали сильынй прирост качества в машинном переводе после того, как глубоко изучили лингвистику и закодировали часть ее правил в свою систему. Аналогично в анализе изображений кто-то мог придумать хитрый фильтр или стоэтапный выделять ключевые точки. Такие результаты позволял ученым почувствовать себя очень умными (и не зря!), опубликоваться, защитить свои PhD и в целом удовлетворить всех участников академической среды.
Но вот что происходило из раза в раз: кто-то просто докидывал вычислений и побольше данных. И побеждал все хитрые методы! Все добытые слезами, потом и кровью inductive bias методы оказывались на пыльной полке истории.
Так было в шахматах: сначала все делали хитрые движки, но победила система построенная практически на полном переборе. Так же было с Go. Так же было со Старкрафтом. Скорее всего так будет с Nethack.
В компьютерном зрении конволюционные нейросети победили “ручной” SIFT и подобные методы. Автор SIFT позже сказал, что создал свой метод только потому, что у него не было нейросетей, которые делают бррр. В машинном переводе LSTM положили на лопатки все системы на основе правил. ChatGPT/GPT-4 это предельный случай: модель построенная на чистом “stack more layers” обращается с языком лучше, чем все создания компьютерных лингвистов.
Горький урок в том, что общие методы построенные на вычислениях побеждают хитрости построенные на человеческой интуиции. Урок этот все еще не усвоен до конца: PhD продолжают делать хитрые методы, а общие системы остаются не в почете. Тот кто усвоит урок будет иметь более точную модель реальности.
Очень советую прочитать оригинал эссе по ссылке в заголовке.