feedback

AI саммари

Энтузиаст Йо Кхэн Мэн успешно портировал Llama 2 для работы на DOS, адаптировав модель для старых компьютеров с использованием Open Watcom. Он столкнулся с рядом технических ограничений, но добился работы LLM на ретро-системах, включая 486 DX-2 и Pentium MMX. Все материалы и исходный код доступны на GitHub.
от FlowFeed AI
Обновлено: 7 months ago
Энтузиаст старых компьютерных технологий Йо Кхэн Мэн успешно портировал модель Llama 2 для работы на DOS-системах, используя упрощённую версию библиотеки llama2.c от Андрея Карпати.

Разработчик адаптировал исходный код Llama 2 для DOS с помощью компилятора Open Watcom 2.0 и расширителя DOS/32A, который позволяет программам работать в 32-битном защищенном режиме. Он работал с Thinkpad T42 (2004) и Toshiba Satellite 315CDT (1996) на процессорах Pentium M 735 1,7 ГГц и Pentium MMX 200 МГц соответственно.

Мэну пришлось решить ряд проблем, включая отсутствие поддержки современных функций C99, ограничения памяти и несовместимость с API. Ему пришлось заменить все вызовы отображения памяти для загрузки LLM. Для работы использовались макросы, преобразующие функции double во float, так как Open Watcom плохо поддерживает операции с плавающей точкой. Ограничение имён файлов в DOS до формата 8.3 потребовало их переименования (например, tokenizer.bin в tokenize.bin).

Энтузиаст протестировал модели на разных системах. На 486 DX-2 (66 МГц, 32 МБ RAM) модель на 260 тыс. параметров генерировала 2.08 токенов/сек. На Pentium MMX 200 МГц (96 МБ RAM) скорость вывода той же модели достигла 15.32 токенов/сек. На Pentium M 1.7 ГГц (2 ГБ RAM) более крупная модель на 110 млн параметров работала со скоростью 1.71 токенов/сек.

Интересно, что современный Ryzen 5 7600 не смог запустить модель на 110 млн параметров из-за ошибок выделения памяти.

Разработчик выложил все материалы, включая исполняемые файлы и исходный код, на GitHub под лицензией MIT. Он надеется, что это вдохновит сообщество на эксперименты с LLM на других ретроплатформах, например 16-битных системах или процессорах Motorola 68000.
Link copied