Интересное что-то
517 subscribers
2.72K photos
253 videos
139 files
4.52K links
Материалы и мысли, понадерганные отовсюду
Блог: https://t.me/asisakov_channel
Чат: https://t.me/youknowds_chat
Download Telegram
Forwarded from ML Advertising
Продолжаем тему LLM. Сегодня речь пойдет про Mistral

Для справки, Mistral - это французский стартап серии B, разрабатывающий LLM. Поднял в 2024 году $640M. Релизят предобученные и затюненные модели и часть из них с открытыми весами. Также предоставляют бесплатный доступ к своим моделям по API.

Запустим из коробки бесплатную модельку Mistral NeMo (12B параметров и контекстное окно на 128k токенов). Не забываем получить API-key на сайте мистраля.


#!pip install mistralai -q
from mistralai import Mistral

#free
#model_id = "pixtral-12b-2409"
#model_id = "open-codestral-mamba"
model_id = 'open-mistral-nemo'

api_key = 'XXX'
client = Mistral(api_key=api_key)

chat_response = client.chat.complete(
model= model_id,
messages = [{
"role": "user",
"content": "Ответ на Главный вопрос жизни, вселенной и вообще - 42. Докажи это через цепочку рассуждений."
}]
)

resp = chat_response.choices[0].message.content
print(resp)


Лимиты такие:
- 1 запрос в секунду
- 500 000 токенов в минуту
- 1 миллиард токенов в месяц

Полный список моделей можно найти по ссылке

#llm
Forwarded from grokaem себя
Моя жизнь за последние пару месяцев стала более занятой, менее нервозной и менее продуктивной на посты. Одна из штук, которыми я занималась и занимаюсь - это F5TTS для русского.

Так как париться с красивыми постами (а они когда-то были?) мне не хочется, будут посты более расслабленные и легкие. Вот давайте послушаем новые примеры с нового подхода, который я поставила.

В этот раз это смесь russian и english (total 268h) так как заметила сильный forgetting для английского при обучении чисто на русском.

До этого были эксперименты с IPA и ударениями. Сейчас русский стоит только с ударениями от ruaccent, ударения с пометкой на +. Хочется рассказать о том, как работает расширение, что не так с длинными записями и как сделать condition на source lang != target lang. А также про то, как я собственно проверяю модели, выбираю данные и колдую над генерацией без изменения моделей.

#grokaem_audio
Forwarded from grokaem себя
Так как я за открытый research, прикладываю source записи, чтобы вы также могли их юзать 🦕
This media is not supported in your browser
VIEW IN TELEGRAM
И снова китайский удар по ChatGPT: Alibaba представили новую модель Qwen2.5-1M, которая поддерживает миллион токенов контекста.

Например, у самой продвинутой версии ChatGPT в подписке Pro за $200 количество токенов всего 128 тысяч.

Qwen2.5-1M может обрабатывать огромные объёмы кода, крупные документы, книги и базы данных практически без ограничений. Скорость обработки до 7 раз быстрее.

У модели открытый исходный код, который можно свободно использовать для своих проектов. Также там можно генерировать изображения и видео.

Самое главное — всё это бесплатно и без VPN.

Демо последней версии тут. Также можете пользоваться на официальном сайте (только выберите Qwen2.5-Turbo)

r/#LocalLLaMA
💼 Делегировать — сложно, но эффективно! Памятка юного руководителя.

Когда ты джун или мидл, всё просто: тебе дают задачки, ты их делаешь и закрываешь. Со стороны работа руководителя иногда кажется очень простой: сидишь, раздаешь задачки, чилишь, периодически пишешь «ну чё как там?». Однако всё совсем не так просто.

Один из самых важных навыков руководителя — умение делегировать.
В этом посте поделюсь с вами тем, как я это вижу и как можно развивать этот навык (на своём примере)

Чтобы грамотно делегировать, нужно:
1. Понять, какой формат взаимодействия с конкретным человеком будет наиболее эффективен. К примеру, если сотрудник опытный - с ним можно работать на уровне проблем ("у нас падают показатели - разберись, пожалуйста"), а если сотрудник впервые стакливается с проектом/задачей - нужно явно проговорить план решения задачи и контрольные точки
2. Довериться другому человеку. Сделать с ним план решения задачи такой, чтобы ему было комфортно (не уходить в гиперконтроль, но и не оставлять человека один на один с непонятной задачей)
3. Уметь максимально ясно и подробно объяснить, что от человека нужно и для чего это нужно сделать. На языке, который этот человек поймет!
4. Понять, что возможно, всё не получится с первой попытки. Заложить это в сроки проекта и воспринимать спокойно
5. В противовес пункту 3 – четко определить, какое качество и скорость работы приемлемы в этой ситуации, и явно донести это до человека. Иногда — весьма строго. Если сотрудник стабильно не справляется, четко ему об этом сказать
6. Давать возможность человеку ошибаться. Гиперконтроль над сотрудником не позволяет ему учиться на своих ошибках

Как лично я стараюсь развивать эти навыки (помимо основной работы):
1. Общаюсь с руководителями, на которых хочется равняться, и перенимаю лучшие практики от них
2. У меня есть команда, которая занимается проектом Start Career in DS. Стараюсь выстроить процессы в своих проектах максимально эффективно, чтобы ребята могли готовить хорошие посты, сами проверять метрики, делать контент-планы и т. д. Получается весьма хорошо!
3. Периодически беру дополнительные активности, которые позволяют поработать с новой командой. Например, в этом году мы делали Яндекс Кап, в котором пришлось собрать совершенно новую команду (которая не работала вместе ранее)
4. Преподаю. Преподавание позволяет развивать навык объяснения информации таким образом, чтобы люди могли быстро воспринимать абсолютный новый для них материал
5. Учусь. Курсы по управлению иногда кажутся набором максимально очевидных фактов, но среди них можно найти весьма полезные!

К слову, недавно я прошёл очень клёвый курс по менеджменту.
Оставляйте 🔥 если тема для вас интересна и стоит поделиться инсайтами из него 🙂
Ну ладно, начну первый ☝️

Еще до полноценной работы выше я стажировался на Мосбирже в отделе рисков. То, что мне потом нельзя было около года торговать акциями из-за возможной инсайдерской инфы - это отдельная история))

Зато я узнал, что можно строить линейные регрессии (и любые мл-модели) с заковыристым таргетом:
- q95% доходности (=CVaR, Conditional value at risk)
- Интеграл от q95 до +Inf доходности (=eCVaR, expected CVAR - сколько мы потеряем в среднем в 5% самых плохих сценариев)

Ну и в целом узнал на практике, что в мире рисков применения мат статистики и матана не меньше, чем в современном DL
Forwarded from Data Secrets
У Google вышла крутая статья про новую архитектуру Titan, которая может победить проблему забывания в трансформерах

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

В Titan же подход к памяти немного иной: помимо краткосрочной памяти attention исследователи добавили в архитектуру долгосрочную память (тут вы, возможно, поймали флешбек на LSTM, и не зря). То есть у нас есть некоторый core – стандартное внимание с ограниченным окном, и модуль, который хранит важную информацию из "далекого прошлого". Чтобы решать, какую информацию запоминать, в нем используется метрика сюрприза (чем "неожиданнее" новые данные для модели, тем важнее их запомнить) + есть коэффициент затухания. Все эффективно параллелится.

При этом в статье показали аж три варианта соединить текущее внимание с долгосрочной памятью:

Memory as Context: долгосрочная память используется как контекст для текущего внимания.
Memory as Gating: здесь прямо максимальный мэтч с LSTM, тот же механизм гейтов
Memory as Layer: самый простой вариант, вся память соединена как слой в сетке

MAC оказался лучше всего по перплексии, а MAL чуть быстрее, но теряет в эффективности. В целом такая архитектура может легким движением руки масштабироваться до контекста в 2+ миллиона токенов, сохраняя стабильную точность (трансформеры начинают обычно фейлить уже после отметки 4096). Очень крутая работа получилась у Google, в общем.

Полный текст статьи здесь

P.S. Очень подробный и понятный разбор архитектуры LSTM от нас можно почитать здесь, а вот тут лежит наша большая статья про другие архитектуры-альтернативы трансформеру
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from КПД
Inference-Time Scaling for Diffusion Models beyond Scaling Denoising Steps
[Статья][DeepMind не часто публикует код]

Введение

Данная статья уже появлялась на Love. Death. Transformers и была разобрана у Сиолошной . Тем не менее, выскажу свое скромное мнение 😉.

Inference-time scaling уже продемонстрировал впечатляющие результаты в контексте языковых моделей, где длинные цепочки рассуждений позволяют значительно улучшать качество на сложных задачах.

У диффузионных моделей механизм улучшения качества генераций за счет большего объема вычислений есть “из 📦” - выбор количества шагов сэмплирования. С ростом количества шагов расшумления качество полученных генераций и их соответствие запросу 🔼, но начиная с какого-то момента происходит насыщение, и дальнейшее повышение не приводит к значимым улучшениям, а иногда даже наоборот.

Поэтому в данной статье предлагают улучшать генерации за счет сэмплирования разных случайных шумов, начальных точек в процессе генерации, и выборе лучшего случайного зерна 🌱.
Forwarded from Aspiring Data Science (Anatoly Alekseev)
#hpt #hpo #critics

Суммаризировал свои претензии к современным подборщикам гиперпараметров.

1) Не надо говорить, что тюнинг моделей - это black box optimization. Никакая это не новая уникальная задача, где неизвестно, что происходит под капотом, мы одну и ту же задачу решаем день за днём, день за днём, даже данные зачастую похожи. Можно, конечно, притворяться, что для нас каждый раз как первый раз, но имхо это тупо.

2) Вот хочу я затюнить градиентный бустинг над деревьями с помощью Optuna или Hyperopt. Почему я должен каждый раз указывать, какие гиперпараметры я хочу оптимизировать? Они что, часто меняются у xgboost-а? В современных моделях их несколько десятков. Я не хочу их все помнить. Я не знаю, какие из них важны. Я не хочу каждый раз разбираться, какие комбинации совместимы, а какие нет. Ваша библиотека мне жизнь упрощать собирается или нет?

3) Хоть как-то учитываются значения целевой функции в ближайших окрестностях найденных оптимальных параметров? Да конечно, нет, всем начхать на это, тебе находят точечное "лучшее" решение, которое потом на поверку оказывается крайне нестабильным.

4) Байесовская оптимизация с помощью гауссовых процессов - ну это не круто, слишком слабая модель. Вы хоть раз слышали, чтобы сореву на каггле выиграли гауссовым процессом?

5) мне не нравится, что всё CPU/GPU время, которое я палю при HPT некоторой задачи, служит лишь какой-то временной цели, никак не обобщается, и никак не поможет мне (или другим людям) при решении подобных задач в будущем.

6) Ни в одной доке библиотек HPO/HPT я не видел оценок, каких же преимуществ, в терминах ML метрик, можно ждать от тюнинга. Казалось бы, авторы проводят много тестов, в т.ч. автоматизированных, им и карты в руки, ну поделитесь вы статистикой? но нет.

7) а хоть одна из библиотек байесовской оптимизации, предлагая очередных кандидатов, вообще оценивает время обучения модели при таких параметрах?

8) вопрос к алгоритмам HalvingSearch/Hyperband, а насколько надёжно по ранним итерациям можно судить о том, какая метрика будет достигнута к концу обучения? А как же нелинейности кривой обучения? А мы точно так не откинем хорошие решения, которые наибольший "импульс" получают к концу обучения?

9) а хоть одна библа вообще смотрит на декоррелированность прогнозов модели с прогнозами других моделей? это же такая естественная мысль. моделька же не в вакууме будет жить, а, скорей всего, в ансамбле.

THERE SHOULD BE A BETTER WAY!!