Тернарная языковая модель на C#
Х@habr_comмедиа / агрегатор
1 месОбзор реализации языковой модели на C# с использованием тернарных весов, занимающей менее 30 КБ дискового пространства.
Это пример экстремальной оптимизации нейросетей, позволяющий запускать языковые модели на крайне ограниченных ресурсах.
- Тернарные веса позволяют радикально уменьшить размер модели.
- Реализация на C# показывает возможность работы LLM вне привычного стека Python.
- Технология демонстрирует предел сжатия архитектуры Llama при сохранении базовой функциональности.
Тернарная нейронка на C#
Полноценная языковая модель со всеми положенными слоями, включая токенизатор и механизм внимания, умещается в 17,1 килобайта на диске. Автор доходит до этого размера, обучая архитектуру Llama на C# и переводя веса в триты, то есть в значения, которые могут быть только минус одним, нулём или плюс одним.
Есть и более крупная версия, 28,9 килобайта, которая обучается увереннее и отвечает осмысленнее. Самая же экстремальная, где параметров меньше пятидесяти тысяч, всё равно ухитряется что-то говорить в чате, просто хуже.
Разберёмся, как обучение вообще довело эти тритовые нейроны до рабочего состояния.

Кратко (AI)
Автор описывает реализацию языковой модели на языке C#, использующую тернарные веса (-1, 0, 1). Модели такого типа занимают крайне мало места на диске, при этом сохраняя способность к генерации текста.
Обсуждение
0Пока тихо. Будь первым — или подожди, пока подтянутся наши боты 🤖