llm.pdf: экспериментальный проект по запуску крупномасштабной языковой модели в PDF-файле
Общее введение
llm.pdf - это проект с открытым исходным кодом, который позволяет пользователям запускать большие языковые модели (LLM) непосредственно в PDF-файлах. Разработанный EvanZhouDev и размещенный на GitHub, этот проект демонстрирует инновационный подход: с помощью Emscripten проект llama.cpp Скомпилируйте его в asm.js и объедините с функцией инъекции JavaScript в PDF, чтобы процесс вывода LLM мог выполняться полностью в PDF-файлах. Проект поддерживает количественные модели в формате GGUF и рекомендует использовать количественные модели Q8 для достижения наилучшей производительности. Пользователи могут генерировать PDF-файл, содержащий LLM, с помощью прилагаемого скрипта на Python, который прост и эффективен. Этот проект является пробным вариантом, демонстрирующим возможность запуска сложных моделей ИИ в нетрадиционной среде, для разработчиков и исследователей, интересующихся технологиями ИИ и PDF.

Опыт работы: https://evanzhoudev.github.io/llm.pdf/
Список функций
- Запуск больших языковых моделей в PDF-файлах для поддержки генерации текста и взаимодействия с ним.
- Скомпилируйте llama.cpp в asm.js с помощью Emscripten, чтобы реализовать вывод модели в браузерной среде.
- Поддерживаются количественные модели в формате GGUF, а для увеличения скорости выполнения рекомендуется использовать квантование Q8.
- Предоставление сценариев Python
generatePDF.py
Он используется для создания PDF-файлов, содержащих LLM. - Поддерживает встраивание файлов моделей в PDF с помощью кодировки base64, что упрощает распространение и использование.
- Предоставляет видеоуроки на YouTube для детального ознакомления с процессом создания и использования проекта.
- Открытый исходный код, позволяющий настраивать и расширять функциональность.
Использование помощи
Установка и подготовка среды
Чтобы использовать проект llm.pdf, пользователям необходимо подготовить среду, поддерживающую Python 3, и установить необходимые зависимости. Ниже приведены подробные шаги по установке:
- Клонирование хранилища проектов
Откройте терминал и выполните следующую команду, чтобы клонировать репозиторий llm.pdf:git clone https://github.com/EvanZhouDev/llm.pdf.git cd llm.pdf
- Установка зависимостей Python
Проект опирается на среду Python, рекомендуется использовать Python 3.8 или выше. Перейти кscripts
Каталог и установите необходимые библиотеки:cd scripts pip install -r requirements.txt
Убедитесь, что Emscripten и другие необходимые инструменты компиляции установлены. Если Emscripten не установлен, обратитесь к его официальной документации, чтобы настроить его.
- Подготовка модели GGUF
llm.pdf поддерживает только количественные модели в формате GGUF, для лучшей производительности рекомендуется использовать количественные модели Q8. Пользователи могут загрузить модели GGUF из Hugging Face или других репозиториев моделей, таких как TinyLLaMA или другие небольшие LLM. файлы моделей должны быть сохранены локально, например/path/to/model.gguf
. - Создание файлов PDF
Проект предоставляет сценарий на языке PythongeneratePDF.py
Используется для создания PDF-файла, содержащего LLM. Выполните следующую команду:python3 generatePDF.py --model "/path/to/model.gguf" --output "/path/to/output.pdf"
--model
: Указывает путь к модели GGUF.--output
: Укажите путь для сохранения созданного PDF-файла.
Скрипт вставляет файл модели в PDF с помощью кодировки base64 и внедряет код JavaScript, необходимый для выполнения умозаключений. Процесс генерации может занять несколько минут, в зависимости от размера модели и производительности устройства.
- Запуск файлов PDF
Сгенерированный PDF-файл можно открыть в программе для чтения PDF-файлов с поддержкой JavaScript, например в Adobe Acrobat или в программе просмотра PDF-файлов современного браузера. После открытия PDF-файла модель автоматически загрузится и проведет обоснование. Пользователь может ввести текст через интерфейс PDF, и модель сгенерирует соответствующий ответ. Примечание: Из-за ограничений производительности параметрическая модель 135M генерирует ответ для каждого жетон Занимает около 5 секунд.
Функциональное управление
- Генерация текста
В PDF-файле пользователь может взаимодействовать с LLM с помощью текстового поля ввода. После ввода подсказки модель генерирует ответ токен за токеном. Рекомендуется использовать короткие подсказки, чтобы сократить время вывода. Например, если ввести "Напишите короткое предложение о кошках", модель может ответить "Кошки любят гоняться за комочками шерсти". Сгенерированный текст отображается в области вывода PDF. - Выбор и оптимизация моделей
Проект поддерживает различные модели GGUF, и пользователи могут выбирать разные размеры в зависимости от своих потребностей. Рекомендуется выбирать количественную модель Q8, поскольку она обеспечивает баланс между производительностью и скоростью. Если пользователям требуется более быстрый отклик, они могут попробовать модели меньшего размера (например, с параметрами 135M), но при этом качество генерации может быть несколько ниже. - Пользовательские расширения
llm.pdf - это проект с открытым исходным кодом, пользователи могут изменятьscripts/generatePDF.py
или инжектированный код JavaScript для реализации пользовательской функциональности. Например, для добавления новых интерактивных интерфейсов или поддержки других форматов моделей. Пользователи должны быть знакомы с JavaScript API для Emscripten и PDF.
предостережение
- Требования к производительности: Для выполнения LLM-инференции в PDF требуются большие вычислительные ресурсы. Рекомендуется работать на устройстве с не менее чем 8 ГБ оперативной памяти.
- Совместимость моделей: Поддерживаются только количественные модели в формате GGUF. Неколичественные модели или форматы, отличные от GGUF, приведут к сбою генерации.
- Совместимость с браузерамиНекоторые старые браузеры могут не поддерживать asm.js, поэтому мы рекомендуем использовать последнюю версию Chrome или Firefox.
- регулировка компонентов во время тестирования: Если PDF-файл не работает, проверьте журнал терминала или инструменты разработчика браузера (F12) на наличие ошибок JavaScript.
Учебные ресурсы
Проект содержит видеоурок на YouTube, в котором подробно описывается процесс сборки llm.pdf. Пользователи могут посетить README в репозитории GitHub или docs
каталог для получения дополнительной документации. Обсуждения сообщества можно найти на странице GitHub Issues, где разработчики могут задавать вопросы или вносить свой код.
сценарий применения
- Демонстрация технологий искусственного интеллекта
llm.pdf можно использовать для демонстрации клиентам или студентам способности моделей ИИ работать в нетрадиционных средах. Например, на технической конференции разработчики могут открыть PDF-файл и продемонстрировать возможности LLM по генерации текста в режиме реального времени, подчеркивая портативность и инновационность ИИ. - Образование и исследования
Студенты и исследователи могут использовать llm.pdf для изучения процесса вывода в LLM с помощью JavaScript-функций PDF. Проект предоставляет практическую платформу, помогающую пользователям понять роль квантования модели и то, как компилируется Emscripten. - Развертывание искусственного интеллекта в автономном режиме
В условиях ограниченных сетей llm.pdf обеспечивает бессерверный способ развертывания ИИ. Пользователи могут встраивать модели в PDF-файлы и распространять их среди других пользователей для автономной генерации текста и взаимодействия.
QA
- Какие модели поддерживает llm.pdf?
llm.pdf поддерживает квантованные модели только в формате GGUF, для лучшей производительности рекомендуется использовать квантованные модели Q8. Пользователи могут загрузить совместимые модели с сайта Hugging Face. - Почему созданные PDF-файлы работают медленно?
Вывод LLM-пиплов в PDF ограничен производительностью браузера и размером модели. 135-мегапараметрические модели занимают около 5 секунд на один токен. Рекомендуется использовать количественную модель Q8 и запускать ее на высокопроизводительном устройстве. - Нужно ли мне подключение к Интернету, чтобы использовать llm.pdf?
Не требуется. После создания PDF-файла модель и код выводов встраиваются в файл и могут быть запущены в автономном режиме. Однако процесс генерации PDF требует подключения к Интернету для загрузки зависимостей. - Как отладить ошибки в файлах PDF?
Используйте инструменты разработчика браузера (F12), чтобы проверить наличие ошибок JavaScript при открытии PDF-файлов. Также см.generatePDF.py
журнала терминала.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...