llm.pdf: экспериментальный проект по запуску крупномасштабной языковой модели в PDF-файле

Общее введение

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

llm.pdf:在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, и установить необходимые зависимости. Ниже приведены подробные шаги по установке:

  1. Клонирование хранилища проектов
    Откройте терминал и выполните следующую команду, чтобы клонировать репозиторий llm.pdf:

    git clone https://github.com/EvanZhouDev/llm.pdf.git
    cd llm.pdf
  1. Установка зависимостей Python
    Проект опирается на среду Python, рекомендуется использовать Python 3.8 или выше. Перейти к scripts Каталог и установите необходимые библиотеки:

    cd scripts
    pip install -r requirements.txt
    

    Убедитесь, что Emscripten и другие необходимые инструменты компиляции установлены. Если Emscripten не установлен, обратитесь к его официальной документации, чтобы настроить его.

  2. Подготовка модели GGUF
    llm.pdf поддерживает только количественные модели в формате GGUF, для лучшей производительности рекомендуется использовать количественные модели Q8. Пользователи могут загрузить модели GGUF из Hugging Face или других репозиториев моделей, таких как TinyLLaMA или другие небольшие LLM. файлы моделей должны быть сохранены локально, например /path/to/model.gguf.
  3. Создание файлов PDF
    Проект предоставляет сценарий на языке Python generatePDF.py Используется для создания PDF-файла, содержащего LLM. Выполните следующую команду:

    python3 generatePDF.py --model "/path/to/model.gguf" --output "/path/to/output.pdf"
    
    • --model: Указывает путь к модели GGUF.
    • --output: Укажите путь для сохранения созданного PDF-файла.
      Скрипт вставляет файл модели в PDF с помощью кодировки base64 и внедряет код JavaScript, необходимый для выполнения умозаключений. Процесс генерации может занять несколько минут, в зависимости от размера модели и производительности устройства.
  4. Запуск файлов 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, где разработчики могут задавать вопросы или вносить свой код.

 

сценарий применения

  1. Демонстрация технологий искусственного интеллекта
    llm.pdf можно использовать для демонстрации клиентам или студентам способности моделей ИИ работать в нетрадиционных средах. Например, на технической конференции разработчики могут открыть PDF-файл и продемонстрировать возможности LLM по генерации текста в режиме реального времени, подчеркивая портативность и инновационность ИИ.
  2. Образование и исследования
    Студенты и исследователи могут использовать llm.pdf для изучения процесса вывода в LLM с помощью JavaScript-функций PDF. Проект предоставляет практическую платформу, помогающую пользователям понять роль квантования модели и то, как компилируется Emscripten.
  3. Развертывание искусственного интеллекта в автономном режиме
    В условиях ограниченных сетей llm.pdf обеспечивает бессерверный способ развертывания ИИ. Пользователи могут встраивать модели в PDF-файлы и распространять их среди других пользователей для автономной генерации текста и взаимодействия.

 

QA

  1. Какие модели поддерживает llm.pdf?
    llm.pdf поддерживает квантованные модели только в формате GGUF, для лучшей производительности рекомендуется использовать квантованные модели Q8. Пользователи могут загрузить совместимые модели с сайта Hugging Face.
  2. Почему созданные PDF-файлы работают медленно?
    Вывод LLM-пиплов в PDF ограничен производительностью браузера и размером модели. 135-мегапараметрические модели занимают около 5 секунд на один токен. Рекомендуется использовать количественную модель Q8 и запускать ее на высокопроизводительном устройстве.
  3. Нужно ли мне подключение к Интернету, чтобы использовать llm.pdf?
    Не требуется. После создания PDF-файла модель и код выводов встраиваются в файл и могут быть запущены в автономном режиме. Однако процесс генерации PDF требует подключения к Интернету для загрузки зависимостей.
  4. Как отладить ошибки в файлах PDF?
    Используйте инструменты разработчика браузера (F12), чтобы проверить наличие ошибок JavaScript при открытии PDF-файлов. Также см. generatePDF.py журнала терминала.
© заявление об авторских правах

Похожие статьи

FoloUp:开源AI语音面试平台,生成定制面试题并进行智能分析
ChatGPT Web Midjourney Proxy:一键部署AI工具整合平台,依赖多开源AI应用集成多种AI能力

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...