Описание задачи:
Запустить Baby LLaMA 2 на такой маленькой плате, как Milk-V Duo, довольно сложно. Целью этой задачи является повышение производительности Baby LLaMA 2 на платформе Milk-V Duo с целью достижения более высокой скорости обработки токенов в секунду. Конкурсантам необходимо использовать упрощенные технологии и стратегии оптимизации компилятора в сочетании с различными методами, такими как голосовой ввод с микрофона или ввод слов из командной строки, чтобы разработать демонстрационную версию робота, способную рассказывать истории. Демонстрация должна выводиться через динамики и может быть позаимствована у прототипа робота-рассказчика Xiaomi Mi Rabbit.
Требования:
- Критерии оценки будут сосредоточены как на корректности, так и на производительности, при этом вопросы будут иметь одинаковые исходные данные, а работы будут оцениваться по корректности и производительности, соответственно, с помощью эталонного тестирования.
- Корректность оценивается по разнице между результатом работы и эталонным результатом, что отражает влияние методов оптимизации на точность выводов модели. Производительность оценивается по количеству вычислений токенов в секунду, что напрямую отражает оптимизацию производительности записи.
- Часть “текст в речь” (TTS) рассчитывается отдельно.
- В итоге оргкомитет оценивает работы по совокупности показателей корректности и производительности, которые взвешиваются в соответствии с коэффициентом, установленным жюри конкурса, для подсчета итогового балла, и участник с наибольшим количеством баллов становится победителем.
Инструкции по подаче материалов
- Ссылка на репозиторий для отправки https://github.com/plctlab/rvspoc-s2311-llama2.
- Пожалуйста, отправьте результат в вышеуказанный репозиторий в форме Pull Request.
- При отправке, пожалуйста, укажите программное окружение, необходимое для воспроизведения, для модификации вы можете обратиться к программному окружению по умолчанию в “Инструкциях по приему”.
- В период проведения конкурса весь оптимизированный контент может быть представлен следующими способами:
- в бинарном виде
- в виде зашифрованного исходного кода (зашифрованная информация должна быть отправлена по электронной почте на адрес rvspoc@cyberlimes.cn)
- исходный код
- После объявления окончательных результатов поданные заявки должны быть полностью открыты.
- Оргкомитет закроет канал Pull Request в репозитории конкурса после окончания конкурса (т.е. после
16 февраля29 февраля 2024 года) и начнет принимать результаты.
Инструкции по приему
- Платформа для приема результатов - Milk-V Duo, версия 64M.
- TF-карта той же спецификации.
- Не используются файлы/разделы подкачки.
- Без разгона процессора
- Разгон процессора запрещен
- Система на Duo безлимитная
- Baby Llama 2 можно найти в следующем репозитории: https://github.com/karpathy/llama2.c.
- в дополнение к условию 1, оргкомитет будет использовать следующую программную среду для сравнения среднего значения нескольких баллов в качестве базовой линии с оптимизированными данными участника:
- двоичный файл Baby Llama 2 компилируется с помощью
-Ofast
с использованием оригинальных немодифицированных C-файлов из вышеуказанного репозитория. - компилятор использует официальный инструментарий кросс-компиляции Milk-V (версия TBD)
- в системе используется стандартный образ системы Milk-V Duo (версия будет объявлена дополнительно).
- унифицированные входные данные и параметры (определяются)
- следующие большие файлы языковых моделей:
- Для чистого FP32-инференции (т.е. с использованием файла run.c) используется модель с параметрами размером 15M, предоставленная в репозитории Baby LLama 2 (чистая FP32-модель).
- Ее sha256sum: cd590644d963867a2b6e5a1107f51fad663c41d79c149fbecbbb1f95fa81f49a
- двоичный файл Baby Llama 2 компилируется с помощью
- Оценка корректности: Поскольку выходной сигнал фиксирован для фиксированного входного параметра (определение случайного числа), комиссия сравнит его с выходом бинарного файла run.c, сгенерированного по условию 4, и если есть расхождение, оно будет оценено обычным человеческим синтаксисом, при этом за правильный синтаксис баллы не снимаются, а за неправильный снимаются, процент снятия баллов будет определен.
- оценка работы: каждая работа будет выполнена 30 раз, и после удаления самых высоких и самых низких оценок с существенными различиями будет зафиксировано среднее значение.
- Если функция преобразования текста в речь (TTS) выполнена, дополнительные баллы будут начисляться в зависимости от степени реализации, процентное соотношение будет определено дополнительно.
- Окончательные результаты будут представлены с подробным объяснением каждого пункта.
- **В зависимости от фактического хода оптимизации конкурсных вопросов, по ходу конкурса могут быть внесены корректировки по неучтенным аспектам, поэтому следите за сайтом конкурса, а окончательное право интерпретации будет принадлежать комиссии по оценке конкурсных вопросов. **
Описание прав интеллектуальной собственности и соглашений с открытым исходным кодом:
Все результаты конкурса должны быть с открытым исходным кодом и опубликуется по указанному репозитория организатора. Право собственности на работу принадлежит участнику (автору). Организатор призывает участников внести код обратно в сообщество апстрима.
Resources(на китайском)
- Live Replay & Documents (Chinese): plctlab/rvspoc:archives/2023/Docs/S2311