Интересное что-то
517 subscribers
2.72K photos
253 videos
138 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from whargarbl
Инсайды по претрейну

0. Начните с первоисточника, я попробую подсветить только неочевидные места и грабли на кот наступил

https://karpathy.github.io/2019/04/25/recipe/

1. Самое главное. Можно биться головой об клавиатуру - запустить и будет работать. Потому что всем насрать. Здесь нет нерабочего кода. Это просто матрицы, они просто перемножаются. Можно написать вообще всё неправильно - и будет работать. И даже будет трениться, но очень хреново. Но вы даже не узнаете насколько хреново - тк сравнить не с чем

2. Следствие первого. Пишем трейн на мнист и гоняем гоняем гоняем. Добавляем строчку - прогоняем трейн - добавляем строчку - прогоняем трейн - сравниваем результат. Я начинал с МНИСТ зиферки различимы через 30 эпох - и пришел к мнист тренится за 4 эпохи (ну, уже видно что это цифра три).

3. Неочевидная хрень - велости предикшен дал нехилое ускорение, сложно сказать в штуках это надо смотреть глазами, я реально прифигел

4. Легенда про импортнуть веса думаю хрень. Вначале модель тренится очень быстро и при этом она очень нестабильна. Стабилизировать модель можно:
- стартовав с каких то весов написав конверТор
- включив клипинг по градиентам
- тупо пробить нестабильность протренив буквально минут 10 - пройти яму где модель колбасит как не в себя

Эффект примерно одинаковый. Те можно не танцевать с бубном а тупо пробить нестабильный старт и продолжить уже с претрейна или посмотреть где и как градинты взрываются и подобрать обрезку. Дальше все идет как по маслу в случае юнета. На Сана Взрыв/Кишки/Расчлененка были непрерывно на всех этапах - видимо от кривизны архитектуры сильно зависит насколько стабильно модель учится

5. Лернинг рейт. Я остановился на стратегии трейна на диапазоне, например
- начинаем трейн на 1e-4 и плавно снижаем его до 1e-5 в течение 20 эпох
- продолжаем трейн с 5e-5 и плавно снижаем его до 5e-6 в течение 20 эпох
- финальный файнтюн по обстоятельствам - но еще ниже и видимо плавнее. Это для Адам - для например Адафактора надо подбирать. Для другой модели - подбирать. Все через эксперименты. Например сперва я на втором этапе долбил с 1e-5 до 1e-6 - очень крутой спуск - модели очень тяжело

6. Есть две точки. Первая трейн уже не работает и где еще не работает. В моей модели верхняя точка примерно 1.5-e4 - выше сразу взрыв/кишки/расчлененка. Нижнюю я пока не нащупал. Мнист тренится где угодно сколько угодно и не видно переобучения. Но думаю низ будет в районе 7e-7 (по опыту сдхл)

Нет публикаций с каким ЛР тренили sd1.5 - но есть упоминание что начинали с 1e-4 и что снижали (вроде гдето в коде мелькало 5e-5) - видимо также игрались.

7. Градиент аккумулейшен степ дает огромный буст к размеру батчсайза (следовательно ускорению трейна) засчет снижения памяти - особенно при трейне на 1 ГПУ - я пока пробовал 4 и 2 - остановился на 2 - страшно

8. Переобучение не страшно. Всегда сможете поднять ЛР и "стереть" часть обучения. Страшно недообучение.

ТЛДР: это минное поле - обосраться можно запросто местах в пяти одновременно. Там вае не шифтнул, тут градин аккум в акселератор не прокинул, здесь град норм дважды применил или не в той последовательности. Самое удивительное - все работает. Но хреново. Очень странно.
Forwarded from Data Blog
Привет, друзья!

Немного заболела (не люблю эту необходимость не работать) и в часы просветления занималась и продолжаю заниматься модулем про оценку объяснений для курса. Поэтому туториал (и даже ролик на ютуб) будут, когда я оживу, а пока немного про метрики.

В XAI нет стандартного подхода к оценке объяснений (пока что) и, вместо изучения десятков формул удобнее рассматривать общие категории. Одна из них — классификация Co-12:

Correctness — насколько точно объяснение соответствует модели.
Completeness — насколько полно объяснение отражает логику модели.
Consistency — дают ли похожие данные похожие объяснения?
Continuity — небольшие изменения входных данных не должны сильно менять объяснение.
Contrastivity — объясняет ли метод, почему предсказан X, а не Y?
Covariate complexity — как объяснение учитывает сложные взаимодействия признаков?
Compactness — «чем меньше, тем лучше» (разреженность объяснения).
Composition — как представлена информация в объяснении?
Confidence — насколько метод учитывает неопределенность?
Context — насколько объяснение полезно для конкретного пользователя?
Coherence — согласуется ли объяснение с известными знаниями?
Controllability — может ли пользователь влиять на объяснение?

Важно понимать: не нужно заучивать все эти критерии (и даже знать 🎅🏻). Классификацию привожу просто для того, чтобы вы понимали, насколько широк взгляд на оценку. Ну и вдовесок — в библиотеках XAI реализована лишь часть из метрик [можно почитать тут].

Для понимания метрики иногда полезно лезть в код библиотеки. Например, я выше писала про xai_evals, там в статье Faithfullness имеет одну математическую постановку, для табличек, а на практике — вычисляется как корреляция. Прикреплю картинки.

Ну, и суммируя, всё вот так:

❄️Как и в ситуации оценки ML/DL моделей, бинарная оценка "окей", "не окей" не подходит.
❄️В сообществе XAI не существует стандартизированного набора метрик.
❄️Основная сложность — нужно сравнивать методы по скорости, устойчивости, надежности и применимости в разных доменах (наборы данных, модели).
❄️Одна и та же метрика может по-разному реализовываться в разных библиотеках.

✔️ Практически важно — сравнивать методы в рамках одной библиотеки.

Такие дела! Не болейте, друзья!

Пойду восстанавливаться и делать видос,
Ваш Дата-автор!
Forwarded from ML Advertising
Про управление в командах

Хочу разобрать понятие недирективного управления и порассуждать, насколько оно применимо в работе с командами разработчиков.

Начнем от противного и сперва разберем понятие директивного управления. Оно подразумевает раздачу прямых указаний сотрудникам, что и как им делать. Решения принимаются лидом или менеджером, и контроль их выполнения лежит на нем же. В итоге менеджер становится узким горлышком, т.е. если он уйдет в отпуск или уволится, то все посыпется, а подчиненные сами не разберутся.

Но с другой стороны директивный стиль лучшего всего показывает себя в ситуациях:
- горящих дедлайнов, когда нет времени мусолить альтернативные идеи, надо делать 🔥
- на заводе, когда есть четкий тех. процесс и меры техники безопасности 🏭
- в работе с junior-коллегами и стажерами. Чтобы неопределенность в сложных задачах их не демотивировала, мы даем точные понятные инструкции и такой же фидбек
- в случае инцидентов/ критических ситуациях, когда на кону стоят миллионы денег, и нужно принимать решения быстро

Зачем тогда нужно недирективное управления?
Оно нужно, когда мы хотим построить более автономную команду, способную действовать в условиях неопределенности и принимать собственные решения. Здесь вместо того, чтобы давать инструкции сотрудника, мы поощряем инициативу и личную ответственность и даем свободу в принятии решений на его уровне (например выбор фреймворков, design паттернов, оценку сроков задач, взаимодействие со смежниками etc.)

Вроде бы все просто. Что может пойти не так? 🤔
- Отсутствие мотивации у сотрудника: сколько волка не корми, он все равно в лес смотрит. Здесь особо ничего не сделаешь 🤷‍♂️
- Наличие/ отсутствие безопасной среды: инициатива должна правильно восприниматься менеджерами без херни и токсичности. С другой стороны есть инициативы, а есть приоритеты команды на квартал, и поскольку ресурсы команды ограничены, ими нужно распоряжаться разумно
- Фокус на сотруднике: менеджер должен понимать, как сотрудник видит свое личное развитие, и задавая правильные вопросы, направлять его на благо команды
- Обоюдная готовность к переменам: изменения состава/ направления работы команды требуют сил и времени, и не все к этому могут быть готовы
Forwarded from Kogut Ivan Tutoring
Нейросети в спортпроге. Детали
#MLВброс #MLСтатья

Давно не было длинных постов да еще и про ML - исправляюсь

OpenAI чуть рассказали про то, за счет чего их модели решают олимпиадные задачи по программированию

В статье затронуты модели o1, o1-ioi и o3 (которую еще не релизнули). Я уже писал про результаты o1 и o1-ioi тут и o3 здесь. Но в этом посте обсуждаем как они этого добились и что модели могут. Читайте до конца, их возможности меня поразили. Начнем по порядку

o1

🔄 Уже давно известно, что эта модель сначала "рассуждает" (генерирует цепочку рассуждений или же chain of thought) и потом уже дает ответ. Так у нее получается исправлять ошибки, продумывать другие варианты, если не получилось
🔄 Также, ее тренировали использовать внешние инструменты, например, запускать свой код и анализировать результаты для принятия решений.

📊 Рейтинг на кф: 1673

o1-ioi

🔄 Взяли o1 и еще обучили через RL конкретно на решение спортпрог задач. За счет такого фокуса модель лучше стала писать и запускать свои программы во время генерации ответа
🔄 Эвристики для спортпрога во время инференса:
🔄 Если у задачи подзадачи, то решаем каждую из подзадач отдельно - подаем их отдельно в модель как другую задачу
🔄 Кластеризация решений. Сначала модель промптят, что б сгенерировала несколько генераторов тестов (это тоже программа). Далее промптят, что б сгенерировала несколько валидаторов тестов (тоже программа!). Оставляют тесты, которые прошли часть валидаторов. Прогоняют решения на этих тестах и кластеризируют по одинаковым выходам на них.
🔄 Переранжирование решений.
* "Умная" посылка решений. Например, не посылать код на подзадачу, если он не проходит тесты уже решенной подзадачи, которая полностью входит в первую (так как точно зафейлится)

📊 Рейтинг на кф: 2214
📊 IOI 2024: 213 баллов

o3

🔴 Отказались от людских эвристик во время инференса
🔴 Вместо этого больше обучения RLем, что б модель сама придумывала и использовала свои стратегии
🔴 Благодаря этому модель САМА, если ей сложно, пишет СТРЕСС-ТЕСТ🤯 (пример на скрине, а почитать как это делать самому можно здесь) То есть модель сама создает простое, но неэффективное решение, генератор тестов и проверяет основное решение на соответствие

📊 Рейтинг на кф: 2724
📊 IOI 2024: 395 баллов


Выводы:
⚡️ Если модели действительно хорошо могут делать генераторы и валидаторы тестов просто по условию, то когда-то это точно добавят в Polygon (система для разработки задач) и новые контесты будут появляться еще быстрее и олимпиад будет больше!
⚡️ Что модель сама догадывается генерить стресс-тест - это очень меня удивило. Но мне кажется, что во время RL все-таки ей это подкидывали, но все равно мощно!

💬 А вы что думаете на этот счет? Пишите в комментариях
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Kali Novskaya
🌸Опенсорс от HuggingFace: рекап за год🌸
#nlp #про_nlp  #nlp_papers

HuggingFace подвели итоги всех открытых проектов, которые научная команда стартапа нициировала за прошедший год. Давайте вместе посмотрим, как много на самом деле значит сила открытого сообщества и организованного труда!

Январь 2025
🐳Open-R1  – открытая инициатива по воспроизведению результатов DeepSeek R1, включа методы пост-тренинга и датасеты. Результаты воспроизводятся! Apache 2.0
🛠️SmolAgents  – фреймворк с полезным абстракциями для построения LLM-агентов, с типичной логикой и классами. Из коробки предлагается использовать поиск DuckDuckGo
и открытые LLM. Apache 2.0

Декабрь 2024
📈Scaling Test Time Compute – подробный разбор стратегий test-time compute методов на примере моделей Llama
📐FineMath – подкорпус на 54 млрд токенов из FineWeb, содержащий математический контент, в том числе пошаговые решения. Есть еще его корпус-побратим FineWeb-edu с образовательными текстами. Лицензия ODC-by

Ноябрь 2024
🤓SmolVLM  – visual-версия SmolLM, принимает на вход картинки и текст. Apache 2.0
Октябрь 2024
🔎LLM Evaluation Guidebook  – подробный материал с лучшими практиками по оценке языковых моделей, включая составление тестов, инструкции аннотаторам, использование LLM-as-a-judge
🗺️FineTasks – бечнмарк для оценки качества претрейна LLM на множестве языков. Лицензия ODC-by

Сентябрь 2024
🎥FineVideo  – датасет на 43 тысячи видео для обучения SORA-like моделей видео-генерации, своя лицензия License CC-By

Лето 2024
📣Speech-to-Speech, Speech-to-Speech Multilingual  – попытка создания модульной GPT4-o. Модули вклают в себя открытые LLM, а также модели STT и TTS, и даже voice activity detection от Silero
🥇Win AIMO – AI Mathemathical Olympiad соревнование выиграно на основе открытых моделей
🤗SmolLM – семейство открытых моделей мини-размера:  135M, 360M, and 1.7B параметров. Пригодно для on-device и real-time задач, при этом сами модели получены не путем дистиллирования, а просто обучены на очень качественных данных: курируемых датасетах с кодом, образовательным контентом и фактологией.  Apache 2.0
🤖LeRobot,LeRobot Tutorial  – курируемый набор моделей, фреймворков, датасетов и туториалов для робототехнического прототипирования. Apache 2.0

Весна 2024
🍷FineWeb – огромный очищенный интернет-корпус для предобучения больших языковых моделей на 15 триллионов токенов. Есть мультиязычная версия, я теперь еще и бенчмарк, доказывающий, что корпус лучше остальных для сходимости моделей. Лицензия ODC-by
🏆Zephyr Mixtral , Zephyr Gemma  – быстрые повторения моделей Gemma и Mixtral на основе синтетических датасетов, обе под своими собственными лицензиями.
Lighteval Release – открытый фреймворк для эффективной и полной оценки LLM (теперь еще и многоязычный). MIT License
⭐️The Stack v2 – очищенный (и лицензионно чистый) датасет для обучения кодовых LLM. Своя собственная лицензия
⭐️StarCoder2 – улучшенная версия модели для генерации кода StarCoder. OpenRAIL license
🌌Cosmopedia – синтетически сгенерированный корпус с фактологически верной информацией, основанной на лицензионно чистых источниках. Apache 2.0

В целом, исключительно постоянная организационная работа  с сообществом и позволяет нагнать закрытые модели, потому что постоянно создаются строящиеся кирпичики, на которых создается дальнейшая воспроизводимость – инфраструктура, модели, датасеты, подходы. 

🟣Блог-пост с проектами
https://huggingface.co/science
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Dealer.AI
Ну CAG таг? Это ж и ни RETRO и ни RAG и не кагдилаг...


Тут ребята упоролись, и как в сказке: "родила царица в ночь не то сына, не то дочь". И перед нами предстает CAG (дилаг простите 🤣) - Cache augmented generation. CAG это мутант между RETRO и RAG, порождение зла и KV-cached подхода.

CAG работает на основе контекста LLM и использует ее же логику kv-кеширования (схема будет ниже) для создания "индекса" и самого запроса, хотя, буквально, это ретривал индексом назвать нельзя, все сразу на этапе инициализации грузится в контекст модели в kv-кэш. Отсюда же и ограничения на использование такой схемы, ввиду длины контекста (привет Titans и прочие жирноконтекстные момзели). Также такая схема работы нас роднит с моделями типа RETRO, тк для вычисления ответа нам нужно получить векторные представления подсказок. Но тут у нас нет cross-attention схемы и отдельного блока кодирования подсказок, модель сама их себе эмбеддит через kv-cache механизм.

Авторы выделяют плюсы: скорость работы, независимость от внешней базы и ретривера, ну и высокое качество по сравнению с классической RAG архитектурой на базе bm25 или dense retriever. Но смотрят всего две задачи HotPotQA и SquadQA.

Из минусов: мы во всю зависим от длины контекста модели для кеширования, и поэтому же не можем динамически менять индекс и в принципе иметь большой индекс как в RAG тк тут "индекс" подсказок грузится в контекст и модель сама решает какую часть этого кеша ей использовать. Нет возможности юзать мультимодалку. Хотя последнее спорно – можно эмбедить в kv-кеш и вектора картинок и аудио и видео.

Дяде, с одной стороны, конечно, такая схема не нравится,хотя он и rag и retro уважает,с другой стороны, если идти в развитие бесконечных контекстов LLM, почему бы и нет? А что думаете вы? Пишите мнение в комментариях.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Разбор собеседования по машинному обучению в Озон 2025

https://uproger.com/razbor-sobesedovaniya-po-mashinnomu-obucheniyu-v-ozon-2025/

@machinelearning_interview
Forwarded from Machinelearning
📌 Практическое руководство по "подводным камням" больших языковых моделей с примерами.

Открытый препринт книги Тарсиса Соуза (Tharsis Souza), PhD Лондонсого университета, в которой представлен критический анализ проблем и ограничений, возникающих у инженеров и руководителей технических проектов при разработке приложений на основе LLM.

Цель книги, по заявлению автора – помочь создавать надежные и безопасные системы на основе LLM, избегая распространенных ошибок.

Она ориентирована на разработчиков, технических менеджеров проектов и технических руководителей, стремящихся к углубленному пониманию и преодолению практических трудностей, связанных с внедрением LLM.

В отличие от преобладающего дискурса, акцентирующего возможности LLM, книга сосредоточена на практических сложностях и потенциальных ошибках реализации, предлагая подробное руководство по их преодолению.

В книге рассматриваются проблемы: структурной ненадежности, управления входными данными, тестирования, аспектов безопасности и элайнмента, зависимости от поставщиков и оптимизации затрат.

Книга сопровождается репозиторием с практическими примерами на Python, анализом реальных сценариев и решений.

▶️ Содержание:

🟢Предисловие
🟢О книге
🟢Глава 1: Пробелы в оценках
🟢Глава 2: Структурированный вывод
🟢Глава 3: Управление входными данными
🟢Глава 4: Безопасность
🟢Глава 5: Элайнмент на основе предпочтений
🟢Глава 6: Локальные модели на практике
🟠Глава 7: Парадокс снижения стоимости (не опубликовано)
🟠Глава 8: Границы (не опубликовано)
🟠Приложение: Инструменты и ресурсы (не опубликовано)

🟡Страница проекта
🖥Github.com


@ai_machinelearning_big_data

#AI #ML #LLM #Book #Tutorial
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from NoML Digest
Про FCA для кластеризации и не только

В дополнение к докладу на прошлой неделе Егор рекомендует несколько статей от других команд, работающих над схожими задачами.

Две статьи про кластеризации от коллег из Ля Рошеля, которые так же разрабатывают теорию узорных структур (eng. Pattern Structures) :
▫️ Boukhetta S., Trabelsi M., Formal Concept Analysis for Trace Clustering in Process Mining, at ICCS 2023;
▫️ Waffo Kemgne M. et al., Fuzzy and Overlapping Communities Detection: An Improved Approach Using Formal Concept Analysis, at ASONAM 2024.

Две статьи от коллег из университета Артуа, где кластеризацию и бинарную классификацию решают через SAT солверы:
▫️ Ben Hassine M. et al, On the Discovery of Conceptual Clustering Models Through Pattern Mining, at ECAI 2024;
▫️ Hidouri A. et al., On the Learning of Explainable Classification Rules through Disjunctive Patterns, at ICTAI 2024.

В этой статье можно найти подробный обзор символьных подходов к кластеризации:
▫️ Pérez-Suárez A. et al., A review of conceptual clustering algorithms, in Artificial Intelligence Review, 2018.

Напоследок, в этой статье ниже можно найти множество техник и алгоритмов для оптимизации переборов описаний на бинарных данных:
▫️ Szathmary L. et al., A fast compound algorithm for mining generators, closed itemsets, and computing links between equivalence classes, in Annals of Mathematics and AI, 2014.
Forwarded from Start Career in DS
Что такое Git и зачем он нужен Data Scientist'у

Git — важный инструмент разработки, который необходим каждому, кто пишет код, включая DS-специалистам.

Git - это система (программа), которая позволяет отслеживать и вести изменения в файлах вашего проекта. Git - преимущественно используется в разработке, но иногда и в других областях.

🗂 Репозиторий - это хранилище вашего кода для одного или нескольких проектов. Git позволяет хранить репозитории локально или использовать специальные веб-сайты: GitHub, Bitbucket, GitLab.

🔝 Основные преимущества Git:
1. Контроль версий — возможность фиксировать каждое изменение в проекте и возвращаться к любой версии кода.
2. Работа в команде — удобная командная разработка без конфликтов в коде.
3. Воспроизводимость — возможность фиксировать состояние кода и данных.
4. Портфолио/Трудоустройство — работодатели часто используют GitHub, как способ оценить навыки кандидата
5. Безопасность — код хранится не только на вашем компьютере, но и в удаленном репозитории.

📚Дополнительные материалы по теме:
-
Подборка постов про Git от нашего канала🤗
- [RU] Официальная документация Git на русском
- [RU] Интерактивный тренажер с доступной теорией и практикой ключевых концепций Git
- [ENG] Официальная документация по GitHub (подойдет как новичкам для знакомство с платформой, так и опытным юзерам для продвинутого использования)
- [RU] Git за полчаса - руководство для начинающих
- [RU] Репозиторий с советами и трюками по Git

Ставьте ❤️ и 🔥под данным постом!
И не забывайте делиться полезными ресурсами по Git в комментариях!