SmolTalk - это синтетический датасет, разработанный HuggingFace для обучения SmolTalk: новый синтетический набор данных для обучения больших языковых моделей LLM с учителем. Он состоит из 2 млн. строк и был использован для создания семейства моделей SmolLM2-Instruct. SmolTalk включает в себя как новые, так и существующие наборы данных.
Новые наборы данных:
Существующие общедоступные наборы данных:
SmolTalk сравнили недавно выпущенным набором данных Orca AgentInstruct 1M, обучив SmolLM2 на обоих наборах данных с использованием одинаковой конфигурации обучения.
Результаты показали, что SmolTalk показал значительные улучшения в производительности модели, особенно в задачах математики, программирования и следованию системным промптам. Наблюдались также значительные улучшения в масштабе 7B при обучении Mistral-7B на SmolTalk, особенно по показателям IFEval, BBH, GS8Mk и MATH.
from datasets import load_dataset
ds = load_dataset("HuggingFaceTB/smoltalk", "all", split="train")
# to load the train split of a specific subset such as smol-magpie-ultra, you can do
ds = load_dataset("HuggingFaceTB/smoltalk", "smol-magpie-ultra", split="train")
@ai_machinelearning_big_data
#AI #ML #LLM #HuggingFace #Dataset
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
OuteTTS-0.2-500M - улучшенная версия предыдущей модели синтеза речи, основанная на Qwen-2.5-0.5B и обученная на крупных и более качественных датасетах Emilia-Dataset, LibriTTS-R и Multilingual LibriSpeech. Контекст длиной 4096 токенов обеспечивает ~ 54 секунды генерации звука.
Новая версия получила изменения относительно версии 0.1:
⚠️ Для инференса GGUF-версии модели необходимо установить llama-cpp-python.
# Install from PyPI
pip install outetts
# Interface Usage
import outetts
# Configure the model
model_config = outetts.HFModelConfig_v1(
model_path="OuteAI/OuteTTS-0.2-500M",
language="en", # Supported languages in v0.2: en, zh, ja, ko
)
# Initialize the interface
interface = outetts.InterfaceHF(model_version="0.2", cfg=model_config)
# Optional: Create a speaker profile (use a 10-15 second audio clip)
speaker = interface.create_speaker(
audio_path="path/to/audio/file",
transcript="Transcription of the audio file."
)
# Optional: Load speaker from default presets
interface.print_default_speakers()
speaker = interface.load_default_speaker(name="male_1")
output = interface.generate(
text="%Prompt Text%%.",
temperature=0.1,
repetition_penalty=1.1,
max_length=4096,
# Optional: Use a speaker profile
speaker=speaker,
)
# Save the synthesized speech to a file
output.save("output.wav")
@ai_machinelearning_big_data
#AI #ML #TTS #OuteTTS
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Wavehax - нейросетевой вокодер, который синтезирует аудиосигналы без искажений, вызванных наложением частот. Эта проблема часто возникает в моделях, работающих во временной области, где нелинейные операции и слои повышения дискретизации могут привести к наложению высокочастотных компонентов на низкочастотный диапазон.
Wavehax работает в частотно-временной области, оценивая комплексные спектрограммы и преобразуя их во временные сигналы с помощью кратковременного преобразования Фурье (STFT). Использование STFT позволяет получать более высокое качество синтезированной речи, особенно при экстраполяции на высокие значения основной частоты (F0).
Архитектура Wavehax построена на 2D CNN и специальном гармоническом априоре. Априор представляет собой комплексную спектрограмму, полученную из гармонического сигнала, который помогает модели генерировать высококачественные и согласованные по фазе гармонические компоненты.
В экспериментах, проведённых на корпусе японской речи JVS, Wavehax продемонстрировал качество речи, сравнимое с HiFi-GAN V1, при этом значительно сократив количество операций умножения-накопления и параметров модели.
Wavehax работает в 4 раза быстрее HiFi-GAN V1 на CPU и устойчив к экстраполяции на высокие значения F0, где эффект наложения частот становится особенно заметным.
# Set up the env
cd wavehax
pip install -e .
# Extract F0 and mel-spectrogram.
wavehax-extract-features audio=data/scp/jvs_all.scp
# Compute statistics of the training data
wavehax-compute-statistics feats=data/scp/train_no_dev.list stats=data/stats/train_no_dev.joblib
# Train the vocoder model
wavehax-train generator=wavehax discriminator=univnet train=wavehax train.train_max_steps=500000 data=jvs out_dir=exp/wavehax
# Inference via generate speech waveforms
wavehax-decode generator=wavehax data=jvs out_dir=exp/wavehax ckpt_steps=500000
@ai_machinelearning_big_data
#AI #ML #Vocoder #Wavehax
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Wavehax - нейросетевой вокодер, который синтезирует аудиосигналы без искажений, вызванных наложением частот. Эта проблема часто возникает в моделях, работающих во временной области, где нелинейные операции и слои повышения дискретизации могут привести к наложению высокочастотных компонентов на низкочастотный диапазон.
Wavehax работает в частотно-временной области, оценивая комплексные спектрограммы и преобразуя их во временные сигналы с помощью кратковременного преобразования Фурье (STFT). Использование STFT позволяет получать более высокое качество синтезированной речи, особенно при экстраполяции на высокие значения основной частоты (F0).
Архитектура Wavehax построена на 2D CNN и специальном гармоническом априоре. Априор представляет собой комплексную спектрограмму, полученную из гармонического сигнала, который помогает модели генерировать высококачественные и согласованные по фазе гармонические компоненты.
В экспериментах, проведённых на корпусе японской речи JVS, Wavehax продемонстрировал качество речи, сравнимое с HiFi-GAN V1, при этом значительно сократив количество операций умножения-накопления и параметров модели.
Wavehax работает в 4 раза быстрее HiFi-GAN V1 на CPU и устойчив к экстраполяции на высокие значения F0, где эффект наложения частот становится особенно заметным.
# Set up the env
cd wavehax
pip install -e .
# Extract F0 and mel-spectrogram.
wavehax-extract-features audio=data/scp/jvs_all.scp
# Compute statistics of the training data
wavehax-compute-statistics feats=data/scp/train_no_dev.list stats=data/stats/train_no_dev.joblib
# Train the vocoder model
wavehax-train generator=wavehax discriminator=univnet train=wavehax train.train_max_steps=500000 data=jvs out_dir=exp/wavehax
# Inference via generate speech waveforms
wavehax-decode generator=wavehax data=jvs out_dir=exp/wavehax ckpt_steps=500000
@ai_machinelearning_big_data
#AI #ML #Vocoder #Wavehax
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
SmolVLM - серия компактных VLM с 2 млрд. параметров, отличающихся высокой эффективностью использования памяти и могут быть развернуты на локальных устройствах с ограниченными ресурсами.
Архитектура SmolVLM основана на Idefics3, с несколькими отличиями:
Модель кодирует каждый патч изображения 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
@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 доступны в вариантах 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 по всем задачам и показал высокую эффективность по сравнению с другими открытыми моделями.
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])
@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 - усовершенствованная модель глубокого обучения в области материаловедения, предназначенная для моделирования свойств материалов в широком диапазоне элементов, температур и давлений. Она способна точно предсказывать свойства материалов по всей периодической таблице в диапазоне температур от 0 до 5000K и давления до 1000GPa.
MatterSim использует архитектуру M3GNet, которая включает в себя двух- и трехчастичные взаимодействия. Модель обучается с использованием функции потерь, учитывающей энергию на атом, вектор силы на каждом атоме и напряжение.
Особенность MatterSim - способность к активному и непрерывному обучению. Модель способна оценивать неопределенность своих прогнозов и выбирать структуры для активного обучения, что полезно для повышения точности моделирования сложных систем. MatterSim может быть настроена для моделирования на произвольном уровне теории.
Модель демонстрирует высокую точность в предсказании свободной энергии Гиббса и 10-кратное улучшение точности по сравнению с универсальными силовыми полями, обученными на траекториях релаксации на наборах данных MPF-TP и Random-TP.
Модель может быть точно настроена для атомистических симуляций на желаемом уровне теории или для прямых предсказаний "структура-свойство"с сокращением требований к данным до 97%.
⚠️ Рекомендуется устанавливать MatterSim с помощью
mamba или micromamba, поскольку conda может работать значительно медленнее при разрешении зависимостей в environment.yaml.# 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}")
@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
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-битном квантовании.
⚠️ К каждой модели в Model Card можно найти блокнот для запуска в Google Collab и созданные сообществом GGUF-версии.
@ai_machinelearning_big_data
#AI #ML #VLM #Unsolth #Quantization
Please open Telegram to view this post
VIEW IN TELEGRAM