AI: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Строка 13: Строка 13:
Так как модели требовательны к памяти, то применяются и распространяются их квантизованные версии. Как правило, оригинальная модель имеет 16-бит на ''параметр'' (<code>fp16</code>), и требует ''как минимум'' в два раза больше памяти чем количество параметров. Чем ниже квантизация, тем ниже требования к памяти ценой качества работы модели. Размер квантизации часто указывается в названии модели после размера (количества параметров) модели как <code>q<число></code> (например, <code>q4_K_M</code>, где другие буквы уточняют вид квантизации). Считается, что качество модели катастрофически ухудшается при квантизации ниже 4-бит, квантизация 4-бита минимально приемлемая (при недостатке памяти) с небольшими ухудшением качество работы модели, а с верхней стороны, квантизация 8-бит работает практически так же хорошо как 16-бит оригинал (требуя в 2 раза меньше памяти).
Так как модели требовательны к памяти, то применяются и распространяются их квантизованные версии. Как правило, оригинальная модель имеет 16-бит на ''параметр'' (<code>fp16</code>), и требует ''как минимум'' в два раза больше памяти чем количество параметров. Чем ниже квантизация, тем ниже требования к памяти ценой качества работы модели. Размер квантизации часто указывается в названии модели после размера (количества параметров) модели как <code>q<число></code> (например, <code>q4_K_M</code>, где другие буквы уточняют вид квантизации). Считается, что качество модели катастрофически ухудшается при квантизации ниже 4-бит, квантизация 4-бита минимально приемлемая (при недостатке памяти) с небольшими ухудшением качество работы модели, а с верхней стороны, квантизация 8-бит работает практически так же хорошо как 16-бит оригинал (требуя в 2 раза меньше памяти).


=== Открытые российские модели ===
== Открытые российские модели 🇷🇺 ==
Модели, которые можно запустить на движке ''llama.cpp'' скачав c HuggingFace (ссылка в формате: <code>Пользователь_HF/Модель</code>, лучше зайти на страницу пользователя и посмотреть что там):
Модели, которые можно запустить на движке ''llama.cpp'' скачав c HuggingFace (ссылка в формате: <code>Пользователь_HF/Модель</code>, лучше зайти на страницу пользователя и посмотреть что там):
* <code>[https://huggingface.co/IlyaGusev IlyaGusev]/Saiga</code> - тюнинг Mistral и Llama на русском корпусе.
* <code>[https://huggingface.co/IlyaGusev IlyaGusev]/Saiga</code> - тюнинг Mistral и Llama на русском корпусе.
Строка 22: Строка 22:
* <code>[https://huggingface.co/ai-sage ai-sage] GigaChat-20B-A3B</code> (20B MoE, 3B активных) диалоговая модель обучена специально под русский язык с нуля. Лицензия MIT.
* <code>[https://huggingface.co/ai-sage ai-sage] GigaChat-20B-A3B</code> (20B MoE, 3B активных) диалоговая модель обучена специально под русский язык с нуля. Лицензия MIT.
* <code>[https://huggingface.co/yandex yandex] YandexGPT-5-Lite-8B</code> YandexGPT 5 Lite (8B базовая модель с длиной контекста 32k токенов, llama-like архитектура). Лицензия рестриктивная.
* <code>[https://huggingface.co/yandex yandex] YandexGPT-5-Lite-8B</code> YandexGPT 5 Lite (8B базовая модель с длиной контекста 32k токенов, llama-like архитектура). Лицензия рестриктивная.
== Примеры запуска модели GigaChat ==
В '''ollama''' и '''llama.cpp''' можно сразу скачать и запустить модель. Простейшие примеры запуска модели <tt>GigaChat-20B-A3B-instruct</tt> в консоли для каждой из них
{{Note|Рекомендуется настроить видеокарту [[Nvidia|NVIDIA]].}}
=== ollama ===
  root# apt-get install ollama
  root# systemctl enable --now ollama
  user$ ollama run infidelis/GigaChat-20B-A3B-instruct-v1.5:q4_K_M
Скачанные модели хранятся в кэше <code>/var/lib/ollama/.ollama/models/</code>.
=== llama.cpp ===
  root# apt-get install llama.cpp
  $ llama-cli -hf ai-sage/GigaChat-20B-A3B-instruct-v1.5-GGUF:Q4_K_M
Скачанная модель попадает в кэш: <code>~/.cache/llama.cpp/</code>.

Версия от 05:07, 10 марта 2025

Использование больших языковых моделей в Альт

Software

В Сизифе есть следующие экспериментальные пакеты для работы с большими лингвистическими моделями на CPU:

  • llama.cpp локальный запуск моделей в GGUF формате, которые, как правило, берутся с git-хостинга Hugging Face Hub ориентированного на ML проекты. llama.cpp содержит низкоуровневые утилиты, поэтому, сложнее в использовании чем ollama, но гибче. Апстрим динамично развивается.
  • ollama локальный запуск моделей, есть удобное скачивание моделей из их собственного репозитория, это консольный и серверный простой в использовании frontend для llama.cpp предоставляющий REST API.
  • aichat консольный доступ к удаленным моделям по API, есть простое webUI, поддержка вызовов функций.

Модели

Открытость лицензий

Не все открытые модели являются open-source в таком же смысле как код. Как правило, у "открытых" моделей открыты только веса. Нужно быть внимательными к лицензии, так как некоторые модели имеют открытые лицензии (как Apache-2.0), но при этом, другие модели в той-же линейке могут внезапно иметь проприетарную лицензию (например модели Qwen), или некоторые лицензии кажутся открытыми, но имеют пункты отменяющие открытость (например модели Llama).

Квантизация

Так как модели требовательны к памяти, то применяются и распространяются их квантизованные версии. Как правило, оригинальная модель имеет 16-бит на параметр (fp16), и требует как минимум в два раза больше памяти чем количество параметров. Чем ниже квантизация, тем ниже требования к памяти ценой качества работы модели. Размер квантизации часто указывается в названии модели после размера (количества параметров) модели как q<число> (например, q4_K_M, где другие буквы уточняют вид квантизации). Считается, что качество модели катастрофически ухудшается при квантизации ниже 4-бит, квантизация 4-бита минимально приемлемая (при недостатке памяти) с небольшими ухудшением качество работы модели, а с верхней стороны, квантизация 8-бит работает практически так же хорошо как 16-бит оригинал (требуя в 2 раза меньше памяти).

Открытые российские модели 🇷🇺

Модели, которые можно запустить на движке llama.cpp скачав c HuggingFace (ссылка в формате: Пользователь_HF/Модель, лучше зайти на страницу пользователя и посмотреть что там):

  • IlyaGusev/Saiga - тюнинг Mistral и Llama на русском корпусе.
  • AnatoliiPotapov/T-lite-0.1 (8B базовая модель, предположительно, на базе Llama-3), AnatoliiPotapov/T-lite-instruct-0.1 (её тюнинг на инструкции).
  • t-tech/T-lite-it-1.0 (7B), t-tech/T-pro-it-1.0 (32B) обе модели на базе Qwen 2.5 с тюнингом на следование инструкциям.
  • MTSAIR/Cotype-Nano-GGUF (1.5B) легковесная LLM. Лицензия Apache-2.0.
  • Vikhrmodels QVikhr-2.5-1.5B-Instruct-r - инструктивная модель на основе Qwen-2.5, обученная на русскоязычном датасете GrandMaster-PRO-MAX с GRPO этапом (RL). Лицензия Apache-2.0.
  • ai-sage GigaChat-20B-A3B (20B MoE, 3B активных) диалоговая модель обучена специально под русский язык с нуля. Лицензия MIT.
  • yandex YandexGPT-5-Lite-8B YandexGPT 5 Lite (8B базовая модель с длиной контекста 32k токенов, llama-like архитектура). Лицензия рестриктивная.

Примеры запуска модели GigaChat

В ollama и llama.cpp можно сразу скачать и запустить модель. Простейшие примеры запуска модели GigaChat-20B-A3B-instruct в консоли для каждой из них

Примечание: Рекомендуется настроить видеокарту NVIDIA.

ollama

 root# apt-get install ollama
 root# systemctl enable --now ollama
 user$ ollama run infidelis/GigaChat-20B-A3B-instruct-v1.5:q4_K_M

Скачанные модели хранятся в кэше /var/lib/ollama/.ollama/models/.

llama.cpp

 root# apt-get install llama.cpp
 $ llama-cli -hf ai-sage/GigaChat-20B-A3B-instruct-v1.5-GGUF:Q4_K_M

Скачанная модель попадает в кэш: ~/.cache/llama.cpp/.