Машинное обучение digest
57 subscribers
1.69K photos
224 videos
923 links
Download Telegram
🌟 SmolVLM: набор компактных VLM от HuggingFace - Base, Synthetic и Instruct.

SmolVLM - серия компактных VLM с 2 млрд. параметров, отличающихся высокой эффективностью использования памяти и могут быть развернуты на локальных устройствах с ограниченными ресурсами.

Архитектура SmolVLM основана на Idefics3, с несколькими отличиями:

🟢В качестве языковой основы используется SmolLM2 1.7B вместо Llama 3.1 8B;

🟢Визуальная информация сжимается в 9 раз с помощью стратегии pixel shuffle, по сравнению с 4-кратным сжатием в Idefics3;

🟢Используются патчи размером 384x384 пикселей, а не 364x364;

🟢Визуальная основа модели изменена на shape-optimized SigLIP с патчами 384x384 пикселей и внутренними патчами 14x14;

🟢Контекстное окно SmolLM2 было расширено до 16 тыс. токенов для поддержки работы с несколькими изображениями.

Модель кодирует каждый патч изображения 384x384 в 81 токен, что позволяет ей обрабатывать тестовые запросы и изображения с использованием всего 1.2 тыс. токенов, в то время как Qwen2-VL использует 16 тыс. токенов. Это преимущество приводит к значительно более высокой скорости предварительной обработки (в 3,3-4,5 раза) и генерации (в 7,5-16 раз) по сравнению с Qwen2-VL.

Для самостоятельной тонкой настройки SmolVLM можно использовать transformers и TRL. Разработчиками представлен блокнот для файнтюна на VQAv2 с использованием LoRA, QLoRA или полной тонкой настройки. SmolVLM интегрирован с TRL для DPO через CLI.

⚠️ При batch sizes=4 и 8-битной загрузке QLoRA файнтюн потребляет около ~16 GB VRAM


📌Лицензирование:  Apache 2.0


🟡Статья на HF
🟡Набор моделей
🟡Demo


@ai_machinelearning_big_data

#AI #ML #SmallVLM #Huggingface
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 OLMo 2: Новое поколение полностью открытых языковых моделей.

OLMo 2 - серия открытых языковых моделей, созданная для развития науки о языковых моделях .

Модели OLMo 2 доступны в вариантах 7B и 13B параметров и обучены на массиве данных объемом 5 трлн. токенов. Они демонстрируют производительность, сопоставимую или превосходящую аналогичные по размеру полностью открытые модели на английских академических тестах.

Разработчики OLMo 2 уделили особое внимание стабильности обучения, используя методы RMSNorm, QK-Norm, Z-loss регуляризация и улучшенная инициализация.

Обучение проводилось в 2 этапа. На первом этапе модели обучались на датасете OLMo-Mix-1124 (3,9 трлн. токенов). На втором этапе использовался специально подобранный набор данных Dolmino-Mix-1124 (843 млрд. токенов), состоящий из веб-данных, материалов из академических источников, форумов вопросов и ответов, инструкций и математических задачников. Для объединения моделей, обученных на разных подмножествах данных, применялся метод "model souping".

Для оценки OLMo 2 была разработана система OLMES (Open Language Modeling Evaluation System) из 20 тестов для измерения способностей модели. OLMo 2 превзошел предыдущую версию OLMo 0424 по всем задачам и показал высокую эффективность по сравнению с другими открытыми моделями.

▶️Набор моделей OLMo 2:

🟢Базовые модели: OLMo-2-1124-7B и OLMo-2-1124-13B

🟠GGUF-версии: OLMo-2-1124-7B-GGUF и OLMo-2-1124-13B-GGUF

🟢Инструктивные версии: OLMo-2-1124-7B-Instruct и OLMo-2-1124-13B-Instruct

🟠DPO-версии: OLMo-2-1124-7B-DPO и OLMo-2-1124-13B-DPO

🟠SFT-версии: OLMo-2-1124-7B-SFT и OLMo-2-1124-13B-SFT

🟠Reward Model - версия OLMo-2-1124-7B-RM


▶️Пример инференса OLMo-2-7B c HF Transformers:

from transformers import AutoModelForCausalLM, AutoTokenizer
olmo = AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-1124-7B")
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMo-2-1124-7B")
message = ["Language modeling is "]
inputs = tokenizer(message, return_tensors='pt', return_token_type_ids=False)
# optional verifying cuda
# inputs = {k: v.to('cuda') for k,v in inputs.items()}
# olmo = olmo.to('cuda')
response = olmo.generate(**inputs, max_new_tokens=100, do_sample=True, top_k=50, top_p=0.95)
print(tokenizer.batch_decode(response, skip_special_tokens=True)[0])


📌Лицензирование: Apache 2.0 License.


🟡Страница проекта
🟡Набор моделей
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #OLMo2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 MatterSim: DL-модель для предсказания свойств материалов от Microsoft.

MatterSim - усовершенствованная модель глубокого обучения в области материаловедения, предназначенная для моделирования свойств материалов в широком диапазоне элементов, температур и давлений. Она способна точно предсказывать свойства материалов по всей периодической таблице в диапазоне температур от 0 до 5000K и давления до 1000GPa.

MatterSim использует архитектуру M3GNet, которая включает в себя двух- и трехчастичные взаимодействия. Модель обучается с использованием функции потерь, учитывающей энергию на атом, вектор силы на каждом атоме и напряжение.

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

Модель демонстрирует высокую точность в предсказании свободной энергии Гиббса и 10-кратное улучшение точности по сравнению с универсальными силовыми полями, обученными на траекториях релаксации на наборах данных MPF-TP и Random-TP.

Модель может быть точно настроена для атомистических симуляций на желаемом уровне теории или для прямых предсказаний "структура-свойство"с сокращением требований к данным до 97%.

▶️В релизе представлены 2 версии модели:

🟢MatterSim-v1.0.0-1M - мини-версия модели, которая работает быстрее;
🟢MatterSim-v1.0.0-5M - увеличенная версия, которая является более точной.

⚠️ Рекомендуется устанавливать MatterSim с помощью mamba или micromamba, поскольку conda может работать значительно медленнее при разрешении зависимостей в environment.yaml.

▶️ Установка и использование на примере ASE калькулятора:

# Install package with the latest version
pip install git+https://github.com/microsoft/mattersim.git

# Create env via mamba
mamba env create -f environment.yaml
mamba activate mattersim
uv pip install -e .
python setup.py build_ext --inplace

# Minimal example using ASE calculator
import torch
from ase.build import bulk
from ase.units import GPa
from mattersim.forcefield import MatterSimCalculator

device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"Running MatterSim on {device}")

si = bulk("Si", "diamond", a=5.43)
si.calc = MatterSimCalculator(device=device)
print(f"Energy (eV) = {si.get_potential_energy()}")
print(f"Energy per atom (eV/atom) = {si.get_potential_energy()/len(si)}")
print(f"Forces of first atom (eV/A) = {si.get_forces()[0]}")
print(f"Stress[0][0] (eV/A^3) = {si.get_stress(voigt=False)[0][0]}")
print(f"Stress[0][0] (GPa) = {si.get_stress(voigt=False)[0][0] / GPa}")


📌Лицензирование: MIT License.


🟡Модель
🟡Документация
🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #DL #Mattersim #Microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Динамическое 4-битное квантование VLM с повышенной точностью от Unsolth .

Unsloth представил практический метод динамического 4-битного квантования VLM, который решает проблему снижения точности популярных алгоритмов квантования AWQ, Bitsandbytes, GPTQ и HQQ.

В эксперименте использовался Bitsandbytes в качестве основы для всех линейных слоев, но квантование определенных параметров было динамически отключено. Этот подход позволил добиться значительного повышения точности при использовании всего на 10% больше VRAM по сравнению с стандартным 4-битным квантованием Bitsandbytes.

В результате, этот метод позволяет сохранить точность модели, близкую к 16-битной точности, при значительном сокращении размера модели.

Тестирование на VL-моделях Llama 3.2 Vision, Qwen2 Vision и Pixtral, показали значительные преимущества по сравнению со стандартным 4-битным квантованием. Например, квантование Qwen2 Vision 2B до 4 бит приводило к полной поломке модели, в то время как метод динамического квантования позволял восстановить точность при увеличении использования памяти всего на 450 МБ.

Аналогичным образом, получилось восстановить точность Llama 3.2 Vision 11B и Pixtral 12B, которые также деградировали на стандартном 4-битном квантовании.

▶️В открытый доступ на HF опубликованы модели, участвующие в исследовании:

🟢Llama-3.2-11B-Vision-Instruct-unsloth-bnb-4bit (7.23 GB)

🟢Llama-3.2-11B-Vision-unsloth-bnb-4bit (7.23 GB)

🟠Qwen2-VL-2B-Instruct-unsloth-bnb-4bit (1.81 GB)

🟠Qwen2-VL-7B-Instruct-unsloth-bnb-4bit (6.3 GB)

🟠QwQ-32B-Preview-unsloth-bnb-4bit

🟢Pixtral-12B-2409-unsloth-bnb-4bit (8.42GB)


⚠️ К каждой модели в Model Card можно найти блокнот для запуска в Google Collab и созданные сообществом GGUF-версии.


📌Лицензирование моделей:

🟠Семейство Llama: Llama 3.2 Community License Agreement
🟢Семейство Qwen: Apache 2.0 License.
🟢Pixtral: Apache 2.0 License.


🟡Статья
🟡Набор моделей
🟡Сообщество в Discord


@ai_machinelearning_big_data

#AI #ML #VLM #Unsolth #Quantization
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 PydanticAI: фреймворк для создания AI-агентов на основе Pydantic.

PydanticAI - фреймворк для Python, созданный командой разработчиков Pydantic, который упрощает создание приложений с использованием LLM. Фреймворк имеет простой и интуитивно понятный интерфейс для взаимодействия с LLMs, поддерживающими Async OpenAI (Ollama) и openAI API (ChatGPT, Gemini и Groq), с поддержкой Anthropic в ближайшем будущем.

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

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

Для отладки и мониторинга работы агентов предусмотрена интеграция с Pydantic Logfire, с которым можно отслеживать запросы к базам данных, анализировать поведение модели и оценивать производительность.

▶️ В документации к проекту доступны примеры применения PydanticAI в сценариях:

🟢Построение Pydantic-модели на основе текстового ввода;
🟢Погодный агент;
🟢Агент поддержки клиентов банка;
🟢Генерация SQL-запросов на основе пользовательского ввода;
🟢RAG-поиск по массиву markdown-документам;
🟢Вывод результатов работы агента в терминале;
🟢Пример проверки потокового структурированного ответа на примере информации о видах китов;
🟢Простой чат-приложение.

⚠️ PydanticAI находится на ранней стадии бета-тестирования.

▶️Установка и простой пример "Hello Word" с Gemini-1.5-flash:

# Install via  PyPI
pip install pydantic-ai

# Set Gemini API key
export GEMINI_API_KEY=your-api-key

# Run example
from pydantic_ai import Agent
agent = Agent(
'gemini-1.5-flash',
system_prompt='Be concise, reply with one sentence.',
)
result = agent.run_sync('Where does "hello world" come from?')
print(result.data)
"""
The first known use of "hello, world" was in a 1974 textbook about the C programming language.
"""


📌Лицензирование: MIT License.


🟡Документация
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Agents #Framework #PydanticAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 PydanticAI: фреймворк для создания AI-агентов на основе Pydantic.

PydanticAI - фреймворк для Python, созданный командой разработчиков Pydantic, который упрощает создание приложений с использованием LLM. Фреймворк имеет простой и интуитивно понятный интерфейс для взаимодействия с LLMs, поддерживающими Async OpenAI (Ollama) и openAI API (ChatGPT, Gemini и Groq), с поддержкой Anthropic в ближайшем будущем.

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

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

Для отладки и мониторинга работы агентов предусмотрена интеграция с Pydantic Logfire, с которым можно отслеживать запросы к базам данных, анализировать поведение модели и оценивать производительность.

▶️ В документации к проекту доступны примеры применения PydanticAI в сценариях:

🟢Построение Pydantic-модели на основе текстового ввода;
🟢Погодный агент;
🟢Агент поддержки клиентов банка;
🟢Генерация SQL-запросов на основе пользовательского ввода;
🟢RAG-поиск по массиву markdown-документам;
🟢Вывод результатов работы агента в терминале;
🟢Пример проверки потокового структурированного ответа на примере информации о видах китов;
🟢Простой чат-приложение.

⚠️ PydanticAI находится на ранней стадии бета-тестирования.

▶️Установка и простой пример "Hello Word" с Gemini-1.5-flash:

# Install via  PyPI
pip install pydantic-ai

# Set Gemini API key
export GEMINI_API_KEY=your-api-key

# Run example
from pydantic_ai import Agent
agent = Agent(
'gemini-1.5-flash',
system_prompt='Be concise, reply with one sentence.',
)
result = agent.run_sync('Where does "hello world" come from?')
print(result.data)
"""
The first known use of "hello, world" was in a 1974 textbook about the C programming language.
"""


📌Лицензирование: MIT License.


🟡Документация
🟡Demo
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #Agents #Framework #PydanticAI
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Llama 3.3 70B.

Модель доступна в версии с 70 млрд параметров и оптимизирована для диалоговых сценариев использования на нескольких языках. Llama 3.3 превосходит многие доступные модели с открытым и закрытым исходным кодом по стандартным отраслевым бенчмаркам.

Llama 3.3 основана на оптимизированной архитектуре трансформера и использует авторегрессивный подход. Настройка модели включает SFT с RLHF для согласования с человеческими предпочтениями в отношении полезности и безопасности.

Модель была обучена на новом наборе общедоступных онлайн-данных, включающем более 15 триллионов токенов, с ограничением по свежести данных до декабря 2023 года.

Llama 3.3 поддерживает английский, немецкий, французский, итальянский, португальский, хинди, испанский и тайский языки.

▶️ Пример инфренса на Transformers:

import transformers
import torch

model_id = "meta-llama/Llama-3.3-70B-Instruct"

pipeline = transformers.pipeline(
"text-generation",
model=model_id,
model_kwargs={"torch_dtype": torch.bfloat16},
device_map="auto",
)

messages = [
{"role": "system", "content": "You are a pirate chatbot who always responds in pirate speak!"},
{"role": "user", "content": "Who are you?"},
]

outputs = pipeline(
messages,
max_new_tokens=256,
)
print(outputs[0]["generated_text"][-1])


📌Лицензирование: LLAMA 3.3 License.


🟡Модель
🟡Demo


@ai_machinelearning_big_data

#AI #ML #LLM #Llama3
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Fish Speech V1.5: модель преобразования текста в речь и клонирования голоса.

Fish Speech - модель генерации TTS обновилась до версии 1.5. Эта версия обучалась на 1 млн.часов мультиязычных аудиоданных и заняла 2 место в бенчмарке TTS-Arena (как "Anonymous Sparkle").

Заявлена задержка <150 мс с высококачественным мгновенным клонированием голоса.

▶️Языковая структура обучающего корпуса версии 1.5:

🟢Английский (en) >300 тыс. часов
🟢Китайский (zh) >300 тыс. часов
🟢Японский (ja) >100 тыс. часов
🟢Немецкий (de) ~20 тыс. часов
🟢Французский (fr) ~20 тыс. часов
🟢Испанский (es) ~20 тыс. часов
🟢Корейский (ko) ~20 тыс. часов
🟢Арабский (ar) ~20 тыс. часов
🟠Русский (ru) ~20 тыс. часов
🟢Голландский (nl) <10 тыс. часов
🟢Итальянский (it) <10 тыс. часов
🟢Польский (pl) <10 тыс. часов
🟢Португальский (pt) <10 тыс. часов

Fish Speech для локального инференса требует 4Gb GPU и 8 BG GPU для файнтюна. Запуск возможен на MacOS, Linux и Windows в режимах CLI, GUI и WebUI и Docker.

Подробные инструкции по установке, инференсу в различных режимах для каждой платформы, туториал по файнтюну и примеры доступны в документации проекта Fish Speech.

⚠️ Репозиторий на Github еще не обновлен информацией о версии 1.5, а официальное демо от разработчиков поддерживает синтез только на английском, китайском и японском.


📌Лицензирование: CC-BY-NC-SA-4.0 License.


🟡Модель
🟡Demo
🟡Документация
🟡Сообщество в Discord
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #TTS #FIshSpeech
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM