Технозаметки Малышева
5.55K subscribers
2.79K photos
927 videos
38 files
3.06K links
Новости инноваций из мира Искусственного Интеллекта. 🤖

Всё об ИИ, ИТ трендах и Технологической Сингулярности.

🤖: @ai_gptfreebot [бесплатный бот]
✍️: @tsingular_bot [каталог ботов и курсов]

💸[поддержка]: pay.cloudtips.ru/p/c8960bbb
Download Telegram
Unsloth ускоряет LLM в 30 раз без потерь в точности

Стартап Unsloth революционизирует подход к обучению искусственного интеллекта.
Новый продукт увеличивает скорость тренировки LLM в 30 раз, уменьшая время с 85 до 3 часов.
Снижение потребления памяти на 60%, позволяет обрабатывать объёмы данных в 6 раз больше.
Алгоритм сохраняет или повышает точность на 20%, используя Max предложение.
Обновленное ПО работает на существующем оборудовании, поддерживая видеокарты NVIDIA, Intel и AMD.
Программные ядра написаны на языке OpenAI Triton, внедрён Flash Attention через xformers и Tri Dao.
Оптимизация ручного автограда и цепных умножений матриц ускоряет вычисления.
Настроить модели станет проще благодаря бесплатной версии с открытым кодом, которая ускоряет настройку в 2 раза и экономит 50% памяти.

х30 - солидный прирост, если правда так.

#Unsloth #AI #LLM
Unsloth: оптимизируем обучение LLM в 2-5 раз с экономией памяти 80%

Unsloth - это открытый инструмент, позволяющий значительно ускорить обучение языковых моделей Llama, Mistral и Gemma в 2-5 раз и сэкономить до 80% памяти. 🚀
Поддерживаются алгоритмы обучения DPO, PPO и Reward Modelling. Все ноутбуки Jupyter понятны для начинающих.
Обученные модели можно экспортировать в форматы GGML, vLLM или загрузить на Hugging Face.
Репозиторий на GitHub предоставляет примеры настроек для обучения на Google Colab и Kaggle.
Проект набирает популярность, недавно достигнув 1 млн загрузок в месяц. 📈

Теперь каждый может обучить бесплатно свой ИИ на одной видеокарте.

#Unsloth #LLM #Optimization
-------
@tsingular
И еще в копилку разбора Llama 3.1 иллюстрация от Daniel Han из unsloth.ai:

1. 15.6T tokens, Tools & Multilingual
2. Llama arch + new RoPE
3. fp16 & static fp8 quant for 405b
4. Dedicated pad token
5. <|python_tag|><|eom_id|> for tools?
6. Roberta to classify good quality data
7. 6 staged 800B tokens long context expansion


1. Новый метод расширения RoPE.
Использует интересный низкий и высокий коэффициент масштабирования и масштабирует вектор inv_freq — его можно вычислить за 1 проход, поэтому нет необходимости в динамических повторных вычислениях. Использовался 6-этапный подход к увеличению количества токенов с 8 000 до 128 000 с использованием токенов 800B.

2. Обучение
От 38% до 43% MFU с использованием bfloat16. Используется конвейерный параллелизм + FSDP. Усреднение модели для этапов RM, SFT и DPO.

3. Смесь данных
50% общие знания
25% математика и рассуждения
17% кодируют данные и задачи
8% многоязычных данных

4. Этапы предварительной обработки
Использует Roberta, DistilRoberta, fasttext для фильтрации данных хорошего качества. Множество средств дедупликации и эвристики для удаления неверных данных.

5. Квантование с fp8
Квантует веса до fp8 и ввод до fp8, затем умножает на коэффициенты масштабирования. fp8 x fp8, тогда выход будет bf16. Быстрее для вывода и меньше использования VRAM.

6. Эксперименты со зрением и речью
Команда Llama 3.1 также обучила адаптеры зрения и речи — правда, не выпущенные, но очень крутые!

#llama #unsloth
———
@tsingular
This media is not supported in your browser
VIEW IN TELEGRAM
А вот это интересно!

Умельцы из Unsloth пожали Deepseek весом более 700 гигабайт в ~150-180

https://t.iss.one/seeallochnaya/2273

Т.е, внимание, - это 2 DIGITS!!!

Всего $6000 и R1 будет летать у вас ДОМА! :))

Потери в качестве минимальны. В примере видно, что она по прежнему генерит рабочий код.

Статья: https://unsloth.ai/blog/deepseekr1-dynamic

Главные технические моменты:

Архитектурный подход:
Они изучили архитектуру DeepSeek R1 и обнаружили, что модель использует MoE (Mixture of Experts) слои
Первые 3 слоя модели являются полностью плотными (не MoE)
MoE слои используют общих экспертов, занимая всего 1.5% весов

Стратегия квантизации:
Применили динамическую квантизацию, используя разные уровни точности для разных слоев:

Первые 3 плотных слоя (0.5% весов) оставили в 4-6 битном представлении
MoE слои с общими экспертами (1.5% весов) оставили в 6 битах
Модули внимания MLA (<5% весов) оставили в 4-6 битах
Основную массу весов (~88%) в MoE слоях сжали до 1.58 бит

Особое внимание к down_proj слоям:
Обнаружили, что down_proj матрицы особенно чувствительны к квантизации
Это связано с архитектурой SwiGLU, где down_proj должен масштабировать большие числа
Первые 3-6 MoE down_proj матриц оставили в высокой точности

Общие технические детали:
Размер модели уменьшился с 720GB до 131GB (сокращение на 80%)
Для работы требуется минимум 20GB RAM
Оптимальная производительность достигается при сумме VRAM + RAM ≥ 80GB
Скорость генерации около 140 токенов в секунду на 2x H100 80GB

#DeepSeek #Unsloth
———
@tsingular
🔥10👍4
Unsloth выпустил руководство по датасетам для файнтюнинга языковых моделей

Создание качественного датасета — ключевой момент в успешном файн-тюне.
Правильно подготовленные данные определяют, насколько хорошо модель усвоит нужные навыки и специализацию.

Основные форматы данных

Четыре ключевых типа датасетов:

📝 Raw Corpus — необработанный текст для продолжения предобучения (CPT)
🎯 Instruct — инструкции и примеры ожидаемого результата для SFT
💬 Conversation — диалоги между пользователем и AI для SFT
🔄 RLHF — диалоги с ранжированием ответов для обучения с подкреплением

Подготовка перед форматированием
Определите цель датасета
- Адаптация модели к конкретной задаче (суммаризация, Q&A)
- Обучение для специфической области (медицина, финансы)
- Настройка на определенный стиль общения

Выберите стиль вывода

Формат: JSON, HTML, код, текст
Язык: испанский, английский, русский и т.д.

Найдите источники данных
- Hugging Face, Wikipedia для готовых наборов
- Специализированные CSV, PDF или веб-ресурсы
- Синтетически сгенерированные данные

Форматы данных под разные задачи
Для предобучения (CPT):

{
"text": "Pasta carbonara is a traditional Roman pasta dish. The sauce is made by mixing raw eggs with grated Pecorino Romano cheese and black pepper..."
}


Для инструкций (Alpaca style):
{
"Instruction": "Task we want the model to perform.",
"Input": "Optional user query.",
"Output": "The expected result."
}


Для диалогов (ChatML):
{
"conversations": [
{
"from": "human",
"value": "Can you help me make pasta carbonara?"
},
{
"from": "gpt",
"value": "Would you like the traditional Roman recipe..."
}
]
}


Hugging Face формат:
{
"messages": [
{
"role": "user",
"constant": "What is 1+1?"
},
{
"role": "assistant",
"value": "It's 2!"
}
]
}

Генерация синтетических данных
Используйте мощные LLM (Llama 3.3 70B, GPT-4.5) для создания дополнительных примеров. Это помогает:

- Расширить существующий датасет
- Диверсифицировать данные, предотвращая переобучение
- Автоматически структурировать данные в нужном формате

Особенности мультимодальных моделей
Для моделей с возможностью обработки изображений (например, Llama 3.2 Vision):
[
{
"role": "user",
"content": [
{"type": "text", "text": "You are an expert radiographer..."},
{"type": "image", "image": image_data}
]
},
{
"role": "assistant",
"content": [
{"type": "text", "text": "This radiograph shows..."}
]
}
]

Практические советы

📊 Минимальный размер датасета: 100+ записей, оптимально 1000+
🧠 Для моделей с рассуждением: включайте в ответы пошаговое объяснение
🔄 Многократный файн-тюнинг: лучше объединить все датасеты и обучить за один раз

Качественная подготовка данных — это 80% успеха файн-тюнинга.
Иначе количество попыток может уйти в бесконечность.

#Unsloth #finetuning #datasets
———
@tsingular
🔥311👍1😐1
🚀 Unsloth Dynamic v2.0: Революция в квантизации языковых моделей

Команда Unsloth представила важное обновление своего метода квантизации - Dynamic v2.0, который устанавливает новые стандарты производительности для сжатых LLM-моделей.

💡 Техническая суть обновления

• Интеллектуальная послойная квантизация: Вместо избирательной модификации определенных слоев, Dynamic 2.0 динамически адаптирует тип квантизации для каждого возможного слоя, причем комбинации различаются в зависимости от слоя и архитектуры модели

• Улучшенный калибровочный датасет: От 300K до 1.5M токенов высококачественных, вручную отобранных данных для оптимизации разговорной производительности

• Расширенная совместимость: Теперь работает со всеми архитектурами, включая MoE (раньше оптимально работал только с DeepSeek-R1)

• Модельно-специфичная оптимизация: Каждая модель получает индивидуально настроенную схему квантизации - слои, квантизированные в Gemma 3, значительно отличаются от таковых в Llama 4

📊 Оценка качества через KL-дивергенцию
Unsloth использует KL-дивергенцию как золотой стандарт для измерения ошибок квантизации вместо перплексии. Как показывает исследование "Accuracy is Not All You Need", перплексия может давать искаженные результаты из-за компенсирующих эффектов вероятностей токенов, в то время как KL-дивергенция напрямую коррелирует с "флипами" - изменениями ответов с неверных на верные и наоборот.

🧪 Результаты
На примере Gemma 3 27B:
• Dynamic 2.0 с квантизацией Q2_K_XL достигает 68.70% по MMLU 5-shot (против 67.77% в стандартной квантизации)
• 4-битная версия на 2GB меньше, но даёт на 1% лучшую точность, чем QAT-версия от Google

Метрика эффективности, рассчитанная как (MMLU 5-shot - 25)/размер в GB, показывает, что 2-битные квантизации (IQ2_XXS, IQ2_M, Q2_K_XL) обеспечивают оптимальный баланс между производительностью и размером.

🛠 Доступные модели с Dynamic v2.0
• DeepSeek: R1, V3-0324
• Llama: 4 (Scout), 3.1 (8B)
• Gemma 3: 4B, 12B, 27B
• Mistral: Small-3.1-2503

Все квантизированные модели доступны на Hugging Face и готовы к запуску в любом движке вывода: llama.cpp, Ollama или Open WebUI.

Unsloth также помог исправить несколько критических багов в Llama 4, что привело к повышению точности MMLU Pro с 68.58% до 71.53%.

#квантизация #Unsloth #Gemma3 #Llama4 #оптимизация
———
@tsingular
👍6❤‍🔥21
Невероятно полезный пример по генерации синтетики от Unsloth и Meta*.

Что делает система:
• Извлечение документов - парсит PDF, HTML, CSV
• Чанкинг и разбивка - делит длинные документы на управляемые части с учетом объема
• Генерация QA-пар - создает вопросы и ответы
• Автоматическая очистка данных - отфильтровывает низкокачественные примеры
• LoRA-обучение - дообучает модель с минимальными ресурсами (4-bit квантизация в примере)

Технический стек:
synthetic-data-kit для автоматической генерации пар вопросов и ответов (от Meta* как раз)
Unsloth для файнтюнинга
• VLLM в качестве бэкенда
• FastLanguageModel с оптимизированным LoRA (16 rank, использует только 23% GPU памяти на T4)

Практические кейсы:
• Обучение модели пониманию узкоспециализированных документов (например, новых исследований)
• Создание чатботов экспертов в конкретной предметной области
• Быстрый переход от сырых данных к готовой модели без ручной разметки QA-пар

Результаты из примера (там прям готовых блокнот для запуска. можно себе скопировать и под себя подстроить):
• Обучено на 3х чанках из статьи "Byte Latent Transformer"
35 QA-пар сгенерировано автоматически
• 1.83 минуты обучения на Tesla T4
• Модель корректно отвечает на вопросы о темпоральном патчинге байтов

Поддерживает все популярные модели (Llama 3.2, Gemma 3, Qwen 3) и экспорт в GGUF для деплоя.

(*Meta - запрещённая в РФ террористическая организация)

#Unsloth #finetuning #GoogleColab
———
@tsingular
🔥72👍21
🔊Unsloth опубликовал готовый код для файнтюна TTS моделей

Unsloth выпустил набор блокнотов для файнтюнинга моделей Text-to-Speech (TTS), предлагая разработчикам мощный инструментарий кастомизации.

Технические возможности:
- Оптимизированная производительность: в 1.5 раза быстрее и на 50% меньше потребление памяти благодаря Flash Attention 2
-Поддержка популярных моделей: Sesame CSM (1B), Orpheus (3B), CrisperWhisper, Spark и другие модели из экосистемы transformers
- Двусторонний подход: поддержка как TTS (текст-в-речь), так и STT (речь-в-текст) моделей, включая OpenAI Whisper

Блокноты для файнтюна:
- Sesame-CSM (1B)
- Orpheus-TTS (3B)
- Whisper Large V3 (STT)
- Spark-TTS (0.5B)
- Llasa-TTS (3B)
- Oute-TTS (1B)

Практическое применение:
- Клонирование голосов: создание кастомных голосовых моделей
- Настройка стиля и тона: адаптация эмоциональной окраски (поддержка тегов типа <laugh>, <sigh>)
- Поддержка новых языков: расширение языковых возможностей базовых моделей
- Экспорт в различные форматы: поддержка llama.cpp для совместимости

Рабочий процесс:
1. Загрузка модели через FastModel с опциями для 16-бит LoRA или полного файнтюнинга
2. Подготовка датасета- поддерживаются как готовые наборы с Hugging Face, так и собственные датасеты
3. Настройка параметров обучения с оптимизированными настройками для голосовых моделей
4. Запуск файнтюнинга с мониторингом прогресса
5. Сохранение и экспорт результатов в различные форматы

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

Самое вкусное во всей этой истории, - готовые коллаб-блокноты.
Можно пользовать из облака или скопировать себе и запускать локально.

#Unsloth #TextToSpeech #TTS #finetuning
———
@tsingular
👍6🔥211