Документация Сибирь.ИИ 1.0.1
Описание функциональных характеристик программы для ЭВМ, информация, необходимая для установки, информация, необходимая для эксплуатации, и описание процессов, обеспечивающих поддержание жизненного цикла программного обеспечения. Документы размещены в открытом доступе, регистрация не требуется.
Подготовлено правообладателем - ООО «ФИИ», ИНН 5402076457. Редакция от .
Описание функциональных характеристик
Программа для ЭВМ «Сибирь.ИИ» (Siberia AI), версия 1.0.1. Правообладатель - ООО «ФИИ».
1. Назначение
Программа предназначена для построения русскоязычных языковых моделей с воспроизводимым обучением: подготовки обучающего набора, обучения нейросетевой модели архитектуры «трансформер» на одном или нескольких графических ускорителях, точного возобновления обучения после остановки, измерения качества и фиксации происхождения результата. Область применения - научные исследования и разработка систем обработки естественного языка.
Отличие от типовых средств обучения нейронных сетей - в воспроизводимости прогона. Каждое возобновление сверяет модель, настройки, обучающий набор, словарь и версию исходного текста с манифестом, записанным до первого шага, и отказывается продолжать при расхождении. Многодневное обучение, прерываемое отказами оборудования, становится воспроизводимым по факту, а не по обещанию.
2. Функциональные характеристики
2.1. Описание архитектуры моделей: реестр конфигураций с автоматическим расчетом числа параметров (с разделением на слои и представление словаря) и вычислительной стоимости одного токена.
2.2. Обучение нейросетевой языковой модели архитектуры «трансформер» (декодер) с настраиваемым числом параметров: распределение на несколько графических ускорителей, накопление градиента, пересчет активаций для экономии памяти, сохранение контрольных точек с заданной частотой, удержание ограниченного числа скользящих точек и постоянных рубежей.
2.3. Детерминированная выборка обучающих данных: состав пакета на шаге вычисляется из номера шага и начального значения генератора, а не из истории запусков. Порядок выдачи данных не зависит от того, шло обучение непрерывно или возобновлялось.
2.4. Смешивание тематических классов обучающего набора в заданных долях с контролем состава по контрольным суммам.
2.5. Контроль целостности данных: поименная и побайтовая сверка частей обучающего набора с манифестом перед началом обучения и при каждом возобновлении. Обнаружение пересечения обучающего набора с набором для оценки.
2.6. Запись неизменяемого манифеста прогона до первого шага: контрольные суммы исходного текста, обучающего набора и словаря, параметры модели и обучения, сведения об оборудовании и о происхождении данных.
2.7. Точное возобновление обучения с проверкой неизменности кода, данных, настроек и словаря по манифесту. При любом расхождении возобновление отклоняется с указанием расхождения.
2.8. Проверка прав на используемые данные: карточка источника с указанием лицензии и происхождения обязательна. Источник без подтвержденных прав в обучающий набор не допускается.
2.9. Гейты качества обучающего набора: удаление точных и близких повторов, поиск персональных данных и раскрытых секретов, проверка на пересечение с проверочными наборами.
2.10. Измерение качества на замороженных проверочных наборах по метрике «биты на байт» с разбивкой по тематическим классам и с проверкой неизменности набора по контрольным суммам.
2.11. Расчет вычислительной сложности, потребности в памяти и ожидаемых сроков обучения для заданной конфигурации модели и оборудования. Подгонка степенного закона зависимости качества от вычислительных затрат и предсказание для следующей ступени.
2.12. Безопасное чтение контрольных точек без исполнения постороннего кода, содержащегося в файле.
2.13. Применение обученной модели для порождения текста: продолжение текста с управлением случайностью выбора, доступ через программный интерфейс по протоколу HTTP.
3. Отличительная особенность
Доказуемость происхождения результата. Обучение ведется с нулевой инициализации: путей загрузки сторонних весов, преобразователей чужих форматов контрольных точек и совместимости с ними в программе нет. Происхождение обученной модели подтверждается манифестом прогона, контрольные суммы в котором связывают веса с конкретной версией исходного текста, обучающего набора и словаря.
4. Сведения об экземпляре
| Версия | 1.0.1 |
|---|---|
| Состав экземпляра | 38 файлов экземпляра, из них 33 файла исходного текста, 6 887 строк |
| Архив экземпляра | sibir-ii-1.0.1.zip, 143 938 байт |
| Контрольная сумма архива (SHA-256) | 6a8cc5c671518c747e41646e45be9ed08763381f56b80ce7e86e9128a768d8f6 |
| Язык программирования | Python 3.12 |
| Год создания | 2026 |
5. Среда функционирования
Операционные системы семейства Linux. Разработка и прогоны велись на Ubuntu 26.04 LTS с ядром 7.0. Интерпретатор Python версии не ниже 3.12. Требуется графический ускоритель с поддержкой программной платформы CUDA. Прогоны выполнялись на NVIDIA GeForce RTX 3090 с 24 ГБ видеопамяти, версия драйвера 595.84. Обучение моделей крупнее 300 млн параметров требует ускорителя с 24 ГБ видеопамяти либо распределения на несколько ускорителей.
Внешние библиотеки - свободные, с открытым исходным текстом: PyTorch (вычисления на ускорителе, лицензия BSD-3-Clause), NumPy (числовые массивы, BSD-3-Clause), Tokenizers (словарь и разбиение текста, Apache-2.0), PyArrow (чтение обучающих наборов в колоночном формате, Apache-2.0), bitsandbytes (необязательный компонент экономии памяти, MIT). Проприетарные иностранные компоненты не используются. Обращений к зарубежным сетевым службам в ходе работы программа не выполняет: обучающий набор, словарь и контрольные точки хранятся у пользователя.
Информация, необходимая для установки
Экземпляр поставляется архивом по лицензионному договору вместе с контрольной суммой SHA-256.
1. Проверка экземпляра
Экземпляр поставляется архивом sibir-ii-1.0.1.zip. До установки сверить контрольную сумму:
Ожидаемое значение: 6a8cc5c671518c747e41646e45be9ed08763381f56b80ce7e86e9128a768d8f6.
2. Требования к окружению
| Показатель | Минимально | Рекомендуется |
|---|---|---|
| Операционная система | Ubuntu 22.04 | Ubuntu 24.04 и новее |
| Интерпретатор | Python 3.12 | Python 3.12 |
| Оперативная память | 16 ГБ | 32 ГБ |
| Графический ускоритель | 12 ГБ видеопамяти | 24 ГБ и более |
| Свободное место на диске | 100 ГБ | по объему набора и точек |
3. Порядок установки
Адрес указателя пакетов для библиотеки PyTorch выбирается по версии программной платформы установленного ускорителя. Библиотека bitsandbytes устанавливается дополнительно и только при использовании режима экономии памяти.
4. Проверка установки
Работоспособность установки подтверждается расчетом конфигурации модели - операцией, не требующей ни обучающего набора, ни продолжительных вычислений:
Команда выводит перечень доступных конфигураций моделей. Наличие графического ускорителя проверяется командой:
Информация, необходимая для эксплуатации
Штатный порядок работы после установки: подготовка обучающего набора, запуск и возобновление обучения, измерение качества, применение обученной модели.
5. Подготовка обучающего набора
Порядок операций: проверка набора, сборка смеси тематических классов, выделение замороженного проверочного набора, удаление из обучающего набора текстов, попавших в проверочный.
Последняя операция обязательна: без нее измеренное качество будет завышено, а сравнение с другими моделями потеряет смысл. Словарь готовится средством tools/train_tokenizer.py, упаковка набора в двоичные части - средством tools/pack_tokens.py.
6. Запуск обучения
--tokenizer tokenizer.json --model siberia-260m \
--run runs/opyt-1 --micro-bs 4 --grad-accum 16
Для нескольких ускорителей запуск выполняется через torchrun с указанием их числа. До первого шага программа записывает в каталог прогона неизменяемый манифест с контрольными суммами исходного текста, набора и словаря.
7. Возобновление после остановки
Возобновление берет последнюю контрольную точку и сверяет манифест прогона. При расхождении модели, набора, словаря или версии исходного текста продолжение отклоняется с указанием расхождения - это защита от незаметной подмены условий опыта.
8. Измерение качества
--heldout heldout/ --device cuda
Результат - количество информации на байт текста (биты на байт) с разбивкой по тематическим классам. Неизменность проверочного набора подтверждается контрольными суммами. При расхождении измерение не выполняется.
9. Планирование следующей ступени
Существенное ограничение, установленное измерениями правообладателя: предсказание надежно внутри отрезка, покрытого имеющимися точками, и систематически смещено за его пределами. Доверительный интервал, выдаваемый средством, отражает разброс подгонки на имеющихся точках и занижает действительную неопределенность. Предсказание следует применять для планирования порядка величин, а не для обязательств по точному значению.
10. Применение обученной модели
Поднимается служба, отвечающая по протоколу HTTP и порождающая продолжение поданного текста собственной обученной моделью. Обращений к сторонним службам служба не выполняет. Остановка - прекращением работы процесса. Контрольные точки и манифест прогона сохраняются в каталоге прогона.
Процессы, обеспечивающие поддержание жизненного цикла
Устранение неисправностей, совершенствование программы и сведения о персонале, необходимом для обеспечения такой поддержки.
1. Общие сведения
1.1. Документ описывает процессы поддержания жизненного цикла программы «Сибирь.ИИ» (Siberia AI): устранение неисправностей, совершенствование, персонал сопровождения.
1.2. Правообладатель и разработчик - Общество с ограниченной ответственностью «Финансовый искусственный интеллект». Исходный текст ведется в системе управления версиями. Каждый выпуск фиксируется версией и контрольной суммой архива экземпляра.
2. Устранение неисправностей
2.1. Обращения принимаются по адресам info@siberia-ai.ru и support@siberia-ai.ru. Обращение регистрируется, воспроизводится на стенде правообладателя, исправление проходит набор автоматических проверок и выпускается исправительной версией с новой контрольной суммой архива.
2.2. Набор автоматических проверок ведется в хранилище исходного текста правообладателя и в экземпляр программы не входит: он относится к средствам разработки, а не к самой программе. Изменение, не прошедшее проверки, в основную ветвь не включается.
2.3. Приоритетно устраняются неисправности, затрагивающие воспроизводимость: запись манифеста прогона, сверку контрольных сумм при возобновлении и неизменность проверочных наборов при измерении качества. Такие неисправности обесценивают результат обучения, а не только затрудняют работу.
3. Совершенствование
3.1. Развитие ведется составными частями (конфигурации моделей, цикл обучения, работа с обучающим набором, измерение качества, планирование бюджета, порождение текста). Изменения, затрагивающие формат контрольных точек или манифеста, сопровождаются средствами чтения прежнего формата: ранее полученные результаты обучения должны оставаться проверяемыми.
3.2. Новые возможности выпускаются очередными версиями. Изменения фиксируются в перечне изменений с указанием версии и контрольной суммы архива.
4. Персонал
4.1. Сопровождение обеспечивает разработчик программы. Численность персонала, обеспечивающего жизненный цикл, соответствует объему программы (38 файлов экземпляра, из них 33 файла исходного текста, 6 887 строк) и текущему числу эксплуатантов. При росте числа эксплуатантов предусмотрено выделение ролей разработчика и инженера технической поддержки.
4.2. Требования к персоналу: высшее техническое образование, владение языком Python, знание основ машинного обучения и администрирования операционных систем семейства Linux, навык работы с графическими ускорителями.
5. Данные эксплуатанта
5.1. Обучающие наборы, словари, контрольные точки и обученные модели размещаются в инфраструктуре эксплуатанта и правообладателю не передаются. Программа не выполняет обращений к внешним службам и не обрабатывает персональные данные. Средства поиска персональных данных в обучающем наборе применяются для их исключения из обучения.
Контакты технической поддержки - в разделе «Компания и поддержка» на главной странице.