382K subscribers
4.43K photos
851 videos
17 files
4.87K links
Погружаемся в машинное обучение и Data Science

Показываем как запускать любые LLm на пальцах.

По всем вопросам - @haarrp

@itchannels_telegram -🔥best channels

Реестр РКН: clck.ru/3Fmqri
Download Telegram
🌟 OLMoE: Открытые языковые модели на основе Mixture-of-Experts.

OLMoE (Open Mixture-of-Experts Language Models) - это метод создания языковых моделей, использующий разреженно активированные смеси экспертов (Mixture-of-Experts, MoE). Следуя этому методу была создана и опубликована базовая модель и 2 ее вариации:

🟢OLMoE-1B-7B;

🟠OLMoE-1B-7B-SFT - промежуточная версия базовой модели, прошедшая этап SFT-посттрейна, но без Instruct-дообучения;

🟢OLMoE-1B-7B-Instruct

Модель предварительно обучалась на 5,1 трлн. токенов с 7 млрд. общих параметров, из которых только 1,3 млрд. активируются для каждого входного токена.
Такая конфигурация дает аналогичную стоимость инференса, как при использовании моделей с 1 млрд. параметров (напр. TinyLlama 1B), но требует больше VRAM для хранения 7 млрд общих параметров.

В создании OLMoE-1B-7B была использована архитектура decoder-only трансформера, в которой feedforward network была заменена на Mixture-of-Experts модуль, состоящий из набора меньших feedforward network, собранных в массивы k-экспертов. Ими управляет маршрутизатор (его роль выполняет обученный линейный слой), определяющий, какие из k-экспертов будут активированы для каждого входящего токена. Инференсы k-экспертов умножаются на вероятности маршрутизатора и потом суммируются, образуя общий инференс MoE-модуля.

Претрейн модели выполнялся на очищенных от дубликатов датасетах DCLM и Dolma 1.7 (Github, Wikipedia, наборы научных статей). На следующем этапе инструктивного дообучения были добавлены данные по программированию и математике, чтобы сбалансировать эти области знаний для повышения точности MoE.

Проведенные после обучения эксперименты показывают, что OLMoE-модели обучаются примерно в 2 раза быстрее, чем обычные LLM с эквивалентными активными параметрами.

▶️Пример инференса базовой модели на Transformers:

# NOTE! Install the `transformers` & `torch` libraries first
from transformers import OlmoeForCausalLM, AutoTokenizer
import torch

DEVICE = "cuda" if torch.cuda.is_available() else "cpu"

# Load different ckpts via passing e.g. `revision=step10000-tokens41B`
# also check allenai/OLMoE-1B-7B-0924-SFT & allenai/OLMoE-1B-7B-0924-Instruct
model = OlmoeForCausalLM.from_pretrained("allenai/OLMoE-1B-7B-0924").to(DEVICE)
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMoE-1B-7B-0924")
inputs = tokenizer("Bitcoin is", return_tensors="pt")
inputs = {k: v.to(DEVICE) for k, v in inputs.items()}
out = model.generate(**inputs, max_length=64)
print(tokenizer.decode(out[0]))
# > # Bitcoin is a digital currency that is created and held electronically.
#No one controls it. Bitcoins aren’t printed, like dollars or euros – they’re produced by people and businesses running computers all around the world, using software that solves mathematical


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


🟡Arxiv
🟡Dataset
🟡Набор моделей
🖥Github

@ai_machinelearning_big_data

#AI #ML #LLM #MoE
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍165🔥41
⚡️ XVERSE-MoE-A36B: большая языковая модель на архитектуре MoE.

XVERSE-MoE-A36 - мультиязычная LLM, разработанная с нуля Shenzhen Yuanxiang Technology. Модель основана на архитектуре Mixture-of-Experts, имеет 255 млрд. параметров, из которых 36 млрд. активируются в процессе работы.

XVERSE-MoE-A36B предназначена для решения задач: генерация текста, машинный перевод, анализ тональности, реферирование текста, вопрос-ответ, применение в интеллектуальных системах обслуживания клиентов, образовательных помощниках и анализе данных.

Модель использует структуру decoder-only Transformer, где слой Feedforward Network разделен на специализированные экспертные слои.

Отличительной особенностью модели является использование набора общих и не общих экспертов, каждый из которых составляет 1/4 от размера стандартного FFN. Общие эксперты всегда активны во время вычислений, а не общие - активируются выборочно маршрутизатором.

Для обучения модели использовался массив данных на 40 языках, включая китайский, английский, русский и испанский. В процессе обучения использовалась стратегия динамического изменения набора данных с изменением скорости обучения (LR).

Тестирование модели проводилось на наборах данных MMLU, C-Eval, CMMLU, RACE-M, PIQA, GSM8K, MATH, MBPP и HumanEval.

Результаты показывают, что XVERSE-MoE-A36B превосходит другие модели MoE с открытым исходным кодом по производительности и эффективности.

▶️ Технические параметры модели:

🟢total parameters: 255.4B;
🟢active parameters: 36.5B;
🟢total layers: 50;
🟢dimensionality: 6144;
🟢attention heads: 48;
🟢feed-forward dimensionality: 4096;
🟢non-shared experts: 64;
🟢shared experts: 2;
🟢top-k sampling: 6.

⚠️ Важно! Несмотря на название, модель - 255B, ее физический размер ~ 512 Gb

▶️Установка и запуск:

# Clone repository:
git clone https://github.com/xverse-ai/XVERSE-MoE-A36B
cd XVERSE-MoE-A36B

# Install the dependencies:
pip install -r requirements.txt

# Inference with Transformers:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("xverse/XVERSE-MoE-A36B")
model = AutoModelForCausalLM.from_pretrained("xverse/XVERSE-MoE-A36B", trust_remote_code=True, torch_dtype=torch.bfloat16, device_map='auto')
model = model.eval()
inputs = tokenizer('Attraction of Omsk: The Forbidden City', return_tensors='pt').input_ids
inputs = inputs.cuda()
generated_ids = model.generate(inputs, max_new_tokens=70, eos_token_id=tokenizer.eos_token_id, repetition_penalty=1.1)
print(tokenizer.batch_decode(generated_ids, skip_special_tokens=True))

# Inference with WebUI:
python chat_demo.py --port='port' --model_path='/path/to/model/' --tokenizer_path='/path/to/tokenizer/'


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


🟡Страница проекта
🟡Модель
🟡Demo (Chinese)
🖥Github


@ai_machinelearning_big_data

#AI #ML #MoE #LLM #XVERSE
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
15👍9🔥5🥱2
🌟 GRIN MoE: Mixture-of-Experts от Microsoft.

Модель GRIN (GRadient-INformed) MoE разработана Microsoft для использования в ИИ-системах и приложениях, где требуется мышление (задачи программирования, математики и логики), в сценариях с ограниченным временем ожидания и средах с ограниченным объемом ресурсов.

Модель построена на архитектуре Transformer. Отличительной чертой GRIN MoE является использование слоя Mixture-of-Experts (MoE) в качестве слоя feedforward.

Модель оперирует 16 экспертами и использует top-2 маршрутизацию, активируя два эксперта для каждого токена на каждом слое. GRIN MoE использует алгоритм SparseMixer-v2 для оценки градиента и обучения маршрутизации экспертов.

В отличие от традиционных MoE моделей, GRIN MoE не использует распараллеливание по экспертам и отбрасывание токенов во время обучения.

Технические характеристики модели:

🟢total parameters: 16x3.8B;
🟢active parameters: 6.6B;
🟢context length: 4096;
🟢number of embeddings 4096;
🟢number of layers: 32;

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

Тестирование GRIN MoE проводилось на наборе данных Phi-3 в популярных бенчмарках. Модель показала высокие результаты, превзойдя 7B модель и сравнявшись по метрикам с 14B моделью.

GRIN MoE набрала 79.4 балла в тесте MMLU, 74.4 - в HumanEval и 58.9 - в MATH. Несмотря на высокую эффективность в задачах, связанных с кодом и математикой, GRIN MoE показала более низкие результаты в задачах обработки языка, что может быть связано с особенностями обучающего корпуса.

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


🟡Arxiv
🟡Модель
🟡Demo
🖥Github


@ai_machinelearning_big_data

#AI #ML #LLM #MoE #Microsoft
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1312🔥4
⚡️ Molmo: семейство state-of-art MMLM.

Molmo (Multimodal Open Language Model) - это семейство VLM, разработанных в Институте искусственного интеллекта Аллена, для решения задач обработки изображений и текста - создание подробных описаний изображений и выполнение комплексных визуальных операций, например:

🟢ответы на вопросы;
🟢обнаружение и сегментация по текстовому запросу;
🟢подсчет объектов или элементов;
🟢использование в сфере робототехники для изображений или видео;
🟢расширение возможностей VR.

▶️Molmo 72B - флагманская модель на базе Qwen2-72B в роли LLM и ViT-L/14 336px CLIP в роли visial-энкодера. Molmo-72B достигает наивысшего балла в бенчмарках и занимает второе место по человеческой оценке, лишь немного уступая GPT-4o.

▶️Molmo 7B-D и Molmo 7B-O - более утилитарные модели с разницей в исходных LLM (Qwen2-7B и OLMo-7B-1124 соответственно) и все тем же ViT-L/14 336px в качестве энкодера.

▶️ MolmoE 1B - компактная модель на архитектуре Mixture-of-Experts, основанная на OLMoE-1B-7B с 1.5B активных и 7.2B общих параметров, с производительностью, сравнимой с GPT-4V.

Обучение семейства выполнялось в 2 этапа: предварительное обучение на наборе данных PixMo-Cap для генерации аннотаций к изображениям и этап SFT с использованием комбинации академических наборов данных и наборов данных PixMo (PixMo-AskModelAnything, PixMo-Points, PixMo-CapQA, PixMo-Docs, PixMo-Clocks).

Тестирование модели проводилось на 11 бенчмарках: AI2D, ChartQA, VQA v2, DocVQA, InfographicVQA, TextVQA, RealWorldQA, MMMU, Math-Vista, CountBenchQA и Flickr Count.

Результаты показали, что Molmo, особенно модель Molmo-72B, демонстрирует производительность на уровне GPT-4o, превосходя Gemini 1.5 Pro, Flash и Claude 3.5 Sonnet.

⚠️ Модели Molmo могут испытывать трудности с прозрачными изображениями. В качестве решения, разработчики рекомендуют добавлять белый или темный фон к изображениям перед передачей их в модель, например, с помощью библиотеки PIL.


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


🟡Страница проекта
🟡Коллекция моделей на HF
🟡Arxiv
🟡Demo


@ai_machinelearning_big_data

#AI #ML #Molmo #MoE #MMLM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍306🔥6