Разработчик и энтузиаст старых компьютерных технологий Йо Кхэн Мэн успешно портировал модель Llama 2 от Meta* для работы на 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 под лицензией MIT58. Он надеется, что это вдохновит сообщество на эксперименты с LLM на других ретроплатформах, например, 16-битных системах или процессорах Motorola 68000.
Ранее другой энтузиаст смог запустить Llama2 на Apple PowerBook G4 2005 года. Компьютер оснащён процессором 1,5 ГГц, 1 Гб оперативной памяти и имеет ограниченное 32-битное адресное пространство. Разработчик также использовал Llama2.c от Андрея Карпати.
Сам Йо Кхэн Мэн в 2023 году написал клиента ChatGPT для MS-DOS и запустил чат-бота из командной строки на своём портативном ПК на базе IBM 5155 с центральным процессором Intel 8088 с тактовой частотой 4,77 МГц и 640 КБ ОЗУ. Этот компьютер был выпущен в 1984 году, у него монохромный монитор, видеокарта CGA и откидывающаяся клавиатура. Клиент ChatGPT под MS-DOS работает через сетевое соединение (по шине ISA через совместимый адаптер NE2000) с современным ПК, подключённым к API OpenAI.
Meta Platforms*, а также принадлежащие ей социальные сети Facebook** и Instagram**:* — признана экстремистской организацией, её деятельность в России запрещена;** — запрещены в России.
Источник: habr.com