Jump to content

вызов.cpp

вызов.cpp
Оригинальный автор(ы) Георгий Герганов
Разработчик(и) Георгий Герганов и сообщество
Первоначальный выпуск 10 марта 2023 г .; 16 месяцев назад ( 10.03.2023 ) [1]
Репозиторий github /ггерганов /звонки .cpp
Написано в С++ , С
Тип Библиотека , CLI и веб-сервер для больших языковых моделей.
Лицензия МОЯ лицензия [2]

llama.cpp — это с открытым исходным кодом программная библиотека , написанная в основном на C++, которая выполняет логический вывод на различных моделях большого языка, таких как Llama . [3] Вместе с библиотекой CLI и веб-сервер. включен [4] [5] Он разрабатывается совместно с проектом GGML — тензорной библиотекой общего назначения. [6]

Ближе к концу сентября 2022 года Георгий Герганов приступил к работе над библиотекой GGML — библиотекой C, реализующей тензорную алгебру . Герганов разработал библиотеку с целью строгого управления памятью и многопоточности. Создание GGML было вдохновлено работой Фабриса Беллара над LibNC. [7]

Разработка llama.cpp началась в марте 2023 года Георгием Гергановым как реализация кода вывода Llama на чистом C/C++ без каких-либо зависимостей. Это улучшило производительность на компьютерах без графического процессора или другого специального оборудования. [3] [8] По состоянию на июль 2024 года у него 61 тысяча звезд на GitHub. [9] До создания llama.cpp Герганов работал над похожей библиотекой под названием «sheep.cpp». [10] который реализовал Whisper , модель преобразования речи в текст от OpenAI . llama.cpp завоевал популярность среди пользователей, у которых не было специального оборудования, поскольку он мог работать только на процессоре, в том числе на устройствах Android . [8] [11] [12]

llamafile, созданный Mozilla с использованием космополитического инструмента, созданного Джастин Танни , объединяет модели и llama.cpp в один файл, который работает в нескольких операционных системах. [11] [13] Танни и др. ал. представила новые оптимизированные ядра матричного умножения для процессоров x86 и ARM, улучшающие производительность быстрого вычисления для FP16 и 8-битных квантованных типов данных. [14] [15] [16] Эти улучшения были внесены в исходную версию llama.cpp. [4]

Архитектура

[ редактировать ]

Первоначально llama.cpp мог работать только на процессорах, но теперь может работать и на графических процессорах, используя несколько различных серверных частей, включая Vulkan и SYCL . Эти серверные части составляют тензорную библиотеку GGML, которая используется клиентским кодом llama.cpp, специфичным для модели. [17] llama.cpp поддерживает предварительное квантование модели , а не квантование на лету. [18] llama.cpp использует несколько расширений ЦП для оптимизации: AVX , AVX2 и AVX-512 для X86-64 и Neon для ARM. Apple Silicon является важной целью проекта. [9] [16]

GGUF — формат файла

[ редактировать ]
ГГУФ
Расширение имени файла .gguf
Магическое число 0x47 0x47 0x55 0x46
Разработано Георгий Герганов и сообщество
Первоначальный выпуск 22 августа 2023 г .; 11 месяцев назад ( 22 августа 2023 ) [19]
Последний выпуск
Тип формата машинного обучения Тензоры

Формат файла GGUF — это двоичный формат, используемый llama.cpp, который хранит как тензоры, так и метаданные в одном файле. [21] Он был создан для лучшей поддержки обратной совместимости, поскольку llama.cpp расширил поддержку других архитектур моделей. [22]

Файлы GGUF обычно создаются путем преобразования моделей, разработанных с помощью другой библиотеки машинного обучения, такой как PyTorch , хотя тонкая настройка поддерживается изначально. [23]

Формат фокусируется на квантовании, снижении точности весов модели. Это может привести к уменьшению использования памяти и увеличению скорости за счет снижения точности модели. [24] [22]

Поддерживаемые типы данных

[ редактировать ]

GGUF поддерживает распространенные форматы данных с плавающей запятой float32 , float16 и bfloat16 , а также 1,5-битные и 2-8-битные квантованные целочисленные типы.

Поддерживаемые модели

[ редактировать ]
  1. ^ «Первоначальный выпуск · ggerganov/llama.cpp@26c0846» . Гитхаб . Проверено 15 мая 2024 г.
  2. ^ «llama.cpp/LICENSE at master · ggerganov/llama.cpp» . Гитхаб .
  3. ^ Перейти обратно: а б Коннацер, Мэтью. «Как этот чат-бот LLM с открытым исходным кодом нажал на газ на процессорах x86, Arm» . theregister.com . Проверено 15 апреля 2024 г.
  4. ^ Перейти обратно: а б Худ, Стивен. «Лламафайл: четыре месяца прогресса на пути к демократизации ИИ» . Инновации Мозиллы . Проверено 28 июля 2024 г.
  5. ^ Олден, Дэрок. «Портативные LLM с llamafile [LWN.net]» . lwn.net . Проверено 30 июля 2024 г.
  6. ^ Герганов, Георгий (17 мая 2024 г.). "герганов/ггмл" .
  7. ^ «Внедрение Whisper и LLaMA в массы с Георгием Гергановым (Changelog Interviews #532)» . Журнал изменений . Журнал изменений. 22 марта 2023 г. Проверено 28 июля 2024 г.
  8. ^ Перейти обратно: а б Эдвардс, Бендж (13 марта 2023 г.). «Теперь вы можете запустить модель искусственного интеллекта уровня GPT-3 на своем ноутбуке, телефоне и Raspberry Pi» . arstechnica.com . Проверено 15 апреля 2024 г.
  9. ^ Перейти обратно: а б "ggerganov/llama.cpp" . Гитхаб .
  10. ^ "ggerganov/whisper.cpp" . Гитхаб .
  11. ^ Перейти обратно: а б Худ, Стивен. «llamafile: предоставление LLM людям и вашему компьютеру» . Инновации Мозиллы . Проверено 28 июля 2024 г.
  12. ^ «Демократизация ИИ с помощью языковых моделей с открытым исходным кодом» . lwn.net . Проверено 28 июля 2024 г.
  13. ^ Папп, Дональд (3 декабря 2023 г.). «Mozilla позволяет людям превращать LLM-программы искусственного интеллекта в однофайловые исполняемые файлы» . Хакадей . Проверено 27 июля 2024 г.
  14. ^ Коннацер, Мэтью. «Проект драйвера Llamafile LLM повышает производительность ядер ЦП» . www.theregister.com . Проверено 10 мая 2024 г.
  15. ^ Танни, Жюстин. «LLaMA теперь работает быстрее на процессорах» . Жюстин. лол . Проверено 24 июля 2024 г.
  16. ^ Перейти обратно: а б Ларабель, Майкл. «В Llamafile 0.7 реализована поддержка AVX-512: в 10 раз быстрее время обработки запросов для AMD Zen 4» . www.phoronix.com .
  17. ^ Паундер, Лес (25 марта 2023 г.). «Как создать собственный сервер чат-бота с искусственным интеллектом с помощью Raspberry Pi 4» . tomshardware.com . Проверено 16 апреля 2024 г.
  18. ^ Валковяк, Бартош; Валковяк, Томаш (2024). «Реализация языковых моделей в инфраструктуре, предназначенной для обработки естественного языка» (PDF) . Международный журнал электроники и телекоммуникаций . 70 (1): 153–159. дои : 10.24425/ijet.2024.149525 . Проверено 8 мая 2024 г.
  19. ^ «GGUF от ggerganov · Pull Request #2398 · ggerganov/llama.cpp» . Гитхаб .
  20. ^ "ggml/docs/gguf.md в мастере · ggerganov/ggml" . Гитхаб .
  21. ^ «ГГУФ» . Huggingface.co . Проверено 9 мая 2024 г.
  22. ^ Перейти обратно: а б Муччи, Тим (3 июля 2024 г.). «GGUF против GGML» . www.ibm.com . Проверено 26 июля 2024 г.
  23. ^ Бойкис, Вики (28 февраля 2024 г.). «ГГУФ, долгий путь» . Вики Бойкис . Проверено 26 июля 2024 г.
  24. ^ Лабонн, Максим (29 ноября 2023 г.). «Квантизация моделей Llama с помощью GGUF и llama.cpp» . Середина . На пути к науке о данных . Проверено 9 мая 2024 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6534ab3160660859dbf0b5243f13e69d__1722313560
URL1:https://arc.ask3.ru/arc/aa/65/9d/6534ab3160660859dbf0b5243f13e69d.html
Заголовок, (Title) документа по адресу, URL1:
llama.cpp - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)