Машинное обучение digest
57 subscribers
1.68K photos
221 videos
916 links
Download Telegram
⚡️ FatLlama-1.7T

Зачем кому-то создавать FatLlama-1.7T? Серьезно, в чем смысл?

Однажды вы просыпаетесь и думаете: "Знаете, что нам нужно? Такая огромная модель, чтобы даже облака занервничали". Это все равно что решить построить ракету только для того, чтобы сгонять в супермаркет.

Конечно, это впечатляет, но кто будет ее запускать? Скорее всего, не вы, если только ваш ПК не является нелегальным ядерным реактором.

И что же она умеет? Может быть, предсказывать ваши электронные письма еще до того, как вы подумаете их написать, или просто станет очень хорошо находить в сети видео с котами, кто ж знает...

Вопрос в том, создаем ли мы эти гигантские модели, потому что можем или потому что нам есть что показать Вселенной?

FatLlama-1.7T - это не столько ИИ, сколько "подержите мое пиво, я собираюсь запустить эту штуку".

И вот она, FatLlama-1.7T, которая займет ВСЕ место на вашем жестком диске. Забудьте о сохранении семейных фотографий или драгоценном архиве книг, которые вы никогда не прочитаете. Вам же не так уж и нужны были эти жалкие 3 ТБ свободного места, правда? Зато теперь у вас есть цифровой гигант.

Квантованные версии? Да не вопрос, удачи с запуском, держитесь там.

Даже если каким-то чудом вам удастся запустить FatLlama-1.7T, не спешите расслабляться, ведь вы знаете, что будет дальше, верно? FatLlama 3T.

К тому времени, когда вы выработаете максимум энергии и превратите свой дом в центр обработки данных, чтобы запустить свежую FatLlama 3T, я перейду к FatLlama 5.8T, для которой, вероятно, потребуется маленькая галактика в качестве источника энергии.

Вызов принят? 😁

🟡Модель
🟡Набор GGUF

@ai_machinelearning_big_data

#AI #ML #LLM
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 SHORTCUT MODELS: метод обучение диффузионных моделей генерации в 1 шаг.

Shortcut models - метод обучения диффузионных моделей, который позволяет генерировать изображения высокого качества за один или несколько шагов.

В основе shortcut models - идея обучать сеть с учетом не только текущего уровня шума, но и желаемого размера шага. Это позволяет модели "перепрыгивать" через этапы генерации.

Ключевым преимуществом данного подхода является его простота: shortcut models обучаются за один этап, используя одну сеть, в отличие от других методов ускорения выборки, которые полагаются на сложные схемы обучения с несколькими фазами, сетями или точной настройкой шедулера.

В процессе обучения shortcut models используются два типа целей loss function:

🟢flow-matching при малом размере шага (d ≈ 0), аналогично стандартным диффузионным моделям.

🟢self-consistency при больших размерах шага (d > 0), где цель формируется путем конкатенации последовательности из двух шагов размером d/2.

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

Метод применим к flow-matching и transformer-based типам моделей и RNN/LSTM-сетям.

Эксперименты, проведенные с DiT на наборах данных CelebA-HQ и ImageNet-256, подтверждают эффективность метода.

Shortcut models превосходят методы "end-to-end" обучения одношаговых генеративных моделей и конкурируют с двухэтапными методами дистилляции.

Практическая реализация shortcut models написана на JAX. Для локального запуска следует установить зависимости conda из файлов environment.yml и requirements.txt репозитория.

⚠️ Код поддерживает --model.sharding fsdp для полностью сегментированного параллелизма данных, если обучение проводится на multi-GPU или TPU.

⚠️ Чекпоинты и FID для тестовых датасетов CelebA и Imagenet доступны на Google-диске.

▶️ Пример запуска обучения на DiT-B с датасетом CelebA :

python train.py --model.hidden_size 768 --model.patch_size 2 --model.depth 12 --model.num_heads 12 --model.mlp_ratio 4 
--dataset_name celebahq256 --fid_stats data/celeba256_fidstats_ours.npz --model.cfg_scale 0 --model.class_dropout_prob 1 --model.num_classes 1 --batch_size 64 --max_steps 410_000 --model.train_type shortcut



🟡Страница проекта
🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #ShortcutModels #Training
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Machinelearning
🌟 Aya Expanse: семейство мультиязычных моделей на 32 и 8 млрд. параметров от CohereForAI.

Семейство Aya Expanse - это исследовательский релиз моделей с развитыми мультиязычными возможностями.

Aya Expanse - результат объединения семейства моделей Command с итогами годичных исследований Cohere For AI в области арбитража данных, обучения многоязычным предпочтениям, безопасности и техник мерджа моделей.

Модели обучены для инференса на 23 языках: арабский, китайский (упрощенный и традиционный), чешский, голландский, английский, французский, немецкий, греческий, иврит, хинди, индонезийский, итальянский, японский, корейский, персидский, польский, португальский, румынский, русский, испанский, турецкий, украинский и вьетнамский.

Aya Expanse - авторегрессионые языковые модели на оптимизированной архитектуре трансформеров и контекстом в 128 тыс. токенов у 32b и 8 тыс. токенов у 8В:

🟢Aya Expanse 32B
🟢Aya Expanse 8B

Квантованные версии в размерностях от 2-bit до 16-bit в формате GGUF:

🟠Aya Expanse 32B-GGUF
🟠Aya Expanse 8B-GGUF


Блокноты на Google Collab от сообщества Cohere For AI:

🟢Инференс ассистента по составлению текстов на разных языках;

🟢Инференс для создания кулинарных рецептов с голосовыми возможностями;

🟢Инференс мультиязычной системы QA для неполных представленных спортивных правил по роллер-дерби ;

🟠Код для SFT-файнтюна Aya Expanse 8B для обучения бенгальскому языку.

▶️Пример инференса Aya Expanse 8B на Transformers :

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "CohereForAI/aya-expanse-8b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

# Format the message with the chat template
messages = [{"role": "user", "content": " %prompt% "}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
## <BOS_TOKEN><|START_OF_TURN_TOKEN|><|USER_TOKEN|>%prompt%<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>

gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)

gen_text = tokenizer.decode(gen_tokens[0])
print(gen_text)


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


🟡Коллекция моделей на HF
🟡Набор GGUF 32B
🟡Набор GGUF 8B
🟡Demo


@ai_machinelearning_big_data

#AI #ML #LLM #CohereForAI #AyaExpanse
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 Aya Expanse: семейство мультиязычных моделей на 32 и 8 млрд. параметров от CohereForAI.

Семейство Aya Expanse - это исследовательский релиз моделей с развитыми мультиязычными возможностями.

Aya Expanse - результат объединения семейства моделей Command с итогами годичных исследований Cohere For AI в области арбитража данных, обучения многоязычным предпочтениям, безопасности и техник мерджа моделей.

Модели обучены для инференса на 23 языках: арабский, китайский (упрощенный и традиционный), чешский, голландский, английский, французский, немецкий, греческий, иврит, хинди, индонезийский, итальянский, японский, корейский, персидский, польский, португальский, румынский, русский, испанский, турецкий, украинский и вьетнамский.

Aya Expanse - авторегрессионые языковые модели на оптимизированной архитектуре трансформеров и контекстом в 128 тыс. токенов у 32b и 8 тыс. токенов у 8В:

🟢Aya Expanse 32B
🟢Aya Expanse 8B

Квантованные версии в размерностях от 2-bit до 16-bit в формате GGUF:

🟠Aya Expanse 32B-GGUF
🟠Aya Expanse 8B-GGUF


Блокноты на Google Collab от сообщества Cohere For AI:

🟢Инференс ассистента по составлению текстов на разных языках;

🟢Инференс для создания кулинарных рецептов с голосовыми возможностями;

🟢Инференс мультиязычной системы QA для неполных представленных спортивных правил по роллер-дерби ;

🟠Код для SFT-файнтюна Aya Expanse 8B для обучения бенгальскому языку.

▶️Пример инференса Aya Expanse 8B на Transformers :

from transformers import AutoTokenizer, AutoModelForCausalLM

model_id = "CohereForAI/aya-expanse-8b"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id)

# Format the message with the chat template
messages = [{"role": "user", "content": " %prompt% "}]
input_ids = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
## <BOS_TOKEN><|START_OF_TURN_TOKEN|><|USER_TOKEN|>%prompt%<|END_OF_TURN_TOKEN|><|START_OF_TURN_TOKEN|><|CHATBOT_TOKEN|>

gen_tokens = model.generate(
input_ids,
max_new_tokens=100,
do_sample=True,
temperature=0.3,
)

gen_text = tokenizer.decode(gen_tokens[0])
print(gen_text)


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


🟡Коллекция моделей на HF
🟡Набор GGUF 32B
🟡Набор GGUF 8B
🟡Demo


@ai_machinelearning_big_data

#AI #ML #LLM #CohereForAI #AyaExpanse
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 PocketPal AI: локальный запуск LLM на IOS и Android.

PocketPal AI - проект Ai-ассистента на базе SLM, которые запускаются локально на iOS и Android без необходимости подключения к Интернету:

🟢PocketPal AI для iOS в App Store

🟢PocketPal AI для Android в Google Play

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

Список моделей в приложении (загружаются вручную из меню):

🟠H2O Danube 2 and 3;
🟠Microsoft Phi;
🟠Google Gemma 2;
🟠Qwen.

Помимо этих моделей, можно загрузить любую модель в формате GGUF через опцию "Add Local Model" в меню моделей приложения на устройстве.

В планах проекта расширение списка поддерживаемых моделей, улучшение функций пользовательского интерфейса и поддержка большего количества версий Android/

⚠️ Требования для локальная разработки проекта PocketPal:

🟢Xcode для iOS или Android Studio;
🟢Node.js версии 18 или выше;
🟢Yarn;
🟢React Native CLI.

▶️ Локальная установка и запуск для самостоятельной разработки :

# Clone repository
git clone https://github.com/a-ghorbani/pocketpal-ai
cd pocketpal-ai

# Install dependencies
yarn install

# Install dependencies iOS only
cd ios
pod install
cd ..

# Run App via iOS Simulator
yarn ios

# Run App via Android Simulator
yarn android


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


🖥GitHub

@ai_machinelearning_big_data

#AI #ML #SLM #iOS #Android
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🌟 DuoAttention: эффективный метод для работы с длинными контекстами в LLM.

DuoAttention - метод, который решает проблему LLM при работе с длинными текстами. Эта неэффективность проявляется в большом потреблении памяти и замедлении работы модели. DuoAttention позволяет сократить использование памяти и ускорить обработку длинных текстов без ущерба для точности модели.

Он основан на разделении attention heads в LLM на два типа: «Retrieval Heads» и «Streaming Heads»:

🟢 Retrieval Heads - это небольшая часть attention heads, критически важная для обработки длинных контекстов, которым требуется полное внимание ко всем токенам.

🟢 Streaming Heads, напротив, составляют большинство attention heads и фокусируются преимущественно на последних токенах и так называемых "точках притяжения" внимания (attention sinks).

DuoAttention использует эту дихотомию, применяя полный KV-кэш только к Retrieval Heads, а для Streaming Heads использует облегченный KV-кэш постоянной длины, который хранит только "точки притяжения" и последние токены.

Проведенные эксперименты показывают, что DuoAttention может снижать использование памяти до 2,55 раз для моделей MHA и 1,67 для моделей GQA, а также ускоряет декодирование в 2,18 раз для моделей MHA и 1,50 для моделей GQA.

В сочетании с квантованием DuoAttention позволяет модели Llama-3-8B декодировать текст с длиной контекста 3,3 млн. токенов на одном GPU A100, это примерно 6,4-кратное увеличение емкости по сравнению со стандартным развертыванием FP16 с полным вниманием.

▶️ Модели, которые поддерживают инференс с патчем DuoAttention:

🟢Llama-2-7B-32K-Instruct;
🟢Llama-3-8B-Instruct-Gradient-1048k;
🟢Llama-3-8B-Instruct-Gradient-4194k;
🟠Mistral-7B-Instruct-v0.2;
🟠Mistral-7B-Instruct-v0.3;
🟠Meta-Llama-3.1-8B-Instruct.

▶️ Установка окружения для запуска инференса с DuoAttention :

conda create -yn duo_demo python=3.10
conda activate duo_demo

# Install DuoAttention
pip install -e .

conda install -y git
conda install -y nvidia/label/cuda-12.4.0::cuda-toolkit
conda install -y nvidia::cuda-cudart-dev

# Install QServe
git clone git@github.com:mit-han-lab/qserve.git
cd qserve
pip install -e .
pip install ninja packaging
pip install flash-attn==2.4.1 --no-build-isolation
cd kernels
python setup.py install

# Install FlashInfer
pip install flashinfer -i https://flashinfer.ai/whl/cu121/torch2.3/
pip install tensor_parallel



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


🟡Arxiv
🖥GitHub


@ai_machinelearning_big_data

#AI #ML #LLM #DuoAttention #LongContext
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM