Ранее на LLM Я не особо разбираюсь в рассуждениях, поэтому нашел время разобраться. Мы начали с Количественной. оценка Анализируйте и анализируйте на трех уровнях: модели, обоснование модели и платформа разработки.
Для прогресса при обучении модели используются 32-битные числа с плавающей запятой, поэтому они занимают много места. Некоторые большие модели требуют для загрузки большого объема видеопамяти, а процесс вычислений и вывода происходит медленно. Чтобы уменьшить использование памяти и повысить скорость вывода, параметры высокой точности можно преобразовать в параметры низкой точности, например, из 32 бит число с плавающей запятой, преобразованное в 8 битовое целое число, этот метод называется Количественная оценка модели。
Количественная оценка модели — это технология, которая преобразует вычисления с плавающей запятой в малобитные вычисления с конкретной точкой.,Это может эффективно снизить интенсивность вычислений, размер параметров и потребление памяти модели.,Но это часто приносит огромныеизпотеря точности。особенносуществовать Очень низкий бит(<4bit)、Двоичная сеть (1 бит)、дажеконвертировать градиент Чтобы количественно оценка еще больше усложняет задачу точности.
Существует три основных метода количественного определения:
Принцип Количественной оценки модели состоит в том, чтобы реализовать преобразование чисел с плавающей запятой в данные с фиксированной запятой.
Как показано на рисунке выше, число с плавающей запятой большего диапазона преобразуется в число меньшего диапазона.
существуютhuggingface при просмотре Модель,Вы увидите некоторые сfp16
、int8
、int4
суффиксиз Модель,напримерLlama-2-7B-fp16
、chatglm-6b-int8
、chatglm2-6b-int4
,На самом деле эти Модельто есть Количественная оценканазадиз Модель,fp16
выражать Модельиз Количественная оценка Точность。
[5.96×10^-8, 65504]
,Но фактическое максимальное положительное значение, которое можно выразить, равно 65504.,Минимальное положительное значение составляет примерно 0,0000000596 (нестандартное представление).,Когда знаковый бит равен 0, он представляет положительное число.Количественная оценка Точностьот高到低排列顺序да:fp16
>int8
>int4
,Количественная оценкаиз Точность越低,Размер модели и Чем меньше видеопамять требуется для вывода,Но и способности Модельиз станут хуже.
В отрасли существует несколько форматов количественных моделей с открытым исходным кодом, которые представлены ниже.
https://github.com/ggerganov/ggml
GGMLПолное имяGeorgi Gerganov Machine Learning,от Георгий Тензорная библиотека, разработанная Гергановым (tensor library),Georgi GerganovПроекты с открытым исходным кодомllama.cpp
из Основатель。
GGML — это библиотека, написанная на C, которая может конвертировать LLM в формат GGML, упрощая загрузку LLM и анализ с помощью количественного анализа и других технологий.
характеристика:
существовать HuggingFace начальство,Если ты видишь Модель Имя сGGML
словаиз,напримерLlama-2-13B-chat-GGML
,Объясните, что эти Модели прошли GGML Количественный. некоторый GGML Модельиз Помимо имени сGGML
слова外,Также поставляется сq4
、q4_0
、q5
ждать,напримерChinese-Llama-2-7b-ggml-q4
,здесьлапшаизq4
На самом деле относится кизда GGML из Количественная оценкаметод,отq4_0
开始往назад扩展,иметьq4_0
、q4_1
、q5_0
、q5_1
иq8_0
,существоватьздесьВы можете увидеть различные методы Количественная оценка назадизданных.
GGML — это базовый формат файлов без контроля версий и выравнивания данных. Он подходит для сценариев, в которых не требуется учитывать совместимость версий файлов или оптимизацию выравнивания памяти. Август 2023, Георгий Герганов создает новый формат файла большой модели GGUF, полное название GPT-Generated. Unified Формат, используемый для замены формата GGML. ГГУФ и GGML По сравнению с ГГУФ Дополнительная информация может быть добавлена к существующей Модели, тогда как оригинал GGML Модель не может быть одновременно GGUF спроектирован так, чтобы быть масштабируемым,Таким образом, в будущем в Модель можно будет добавить новые функции.,Без нарушения и совместимости со старыми Модельизами.
但这个功能даBreaking Change
,也то есть说 GGML Все модели, количественно оцененные после выхода новой версии, GGUF отформатированный, что означает старый GGML Формат постепенно будет GGUF формат, а старый заменить нельзя GGML формат напрямую конвертируется в GGUF Формат.
GPTQ да一种Количественная оценка метод моделииз, можно конвертировать на языке Количественная оценка модели成 INT8、INT4、INT3 даже INT2 точности без значительной потери производительности, существуют HuggingFace начальство Если ты видишь Модель Имя сGPTQ
словаиз,напримерLlama-2-13B-chat-GPTQ
,Объясните, что эти Модели прошли GPTQ Количественная оценкаиз。кLlama-2-13B-chat
Например,Должен Модель全Точность版本из Размер 26G, используйте GPTQ количественно в INT4 Размер модели после точности 7.26G。
Сейчас существование популярнее GPTQ Количественная оценка工具даAutoGPTQ,它可к Количественная оценкалюбой Transformer Модель而不仅仅даLlama
,сейчассуществовать Huggingface Уже AutoGPTQ Интегрировано в Transformers середина.
GPTQ и GGML дасейчассуществовать Количественная оценка Существует два основных метода моделирования, какой из них существует в реальной эксплуатации?
Эти два вида имеют следующие сходства и различия:
Следовательно, если целевая Модель существует GPU При работе в системе сначала используется GPTQ. Чтобы количественно оценить,если тыиз Модельдасуществовать CPU При работе в системе рекомендуется использовать GGML Чтобы количественно оценить
llama.cpp Это машина вывода на чистом языке C/C++, основанная и разработанная автором GGML, поддерживающим Количественную. оценкарассуждение,поддержка Различные устройства и операционные системы,Самый ранний из них был связан с утверждением llamaиз мотивов.,сейчассуществоватьужеподдерживатьмейнстримиз Открытый исходный код Модель。
llama.cpp Примечательной особенностью является высокая загрузка аппаратного обеспечения. Независимо от того, являетесь ли вы пользователем Windows/Linux или пользователем macOS, вы можете повысить скорость вывода модели за счет оптимизации компиляции. Пользователям Windows/Linux рекомендуется скомпилировать иBLAS (или cuBLAS, если есть графический процессор) вместе, что может значительно повысить скорость обработки запросов. Пользователям macOS не нужно выполнять дополнительные операции, поскольку llama.cpp РУКА NEON оптимизирован, а BLAS включен автоматически. Для чипов серии M рекомендуется использовать Metal, чтобы включить вывод графического процессора и значительно увеличить скорость.
llama.cpp поддерживатьсуществоватьместныйCPUначальстворазвертывать Количественная оценканазадиз Модель,То есть в сочетании с упомянутым выше изGGML,Таким образом, даже оборудование сверхнизкой конфигурации может работать с LLM.
https://github.com/li-plus/chatglm.cpp
После отечественного изчатglmМодель с открытым исходным кодом,Есть автор ссылкаllama.cpp,Разработан вывод о подтвержденииchatglm изchatglm_cpp,Нижний уровень по-прежнему основан на GGML.,текущийподдерживатьChatGLM-6B, ChatGLM2-6B, ChatGLM3-6B, CodeGeeX2, Baichuan-13B, Baichuan-7B, Baichuan-13B, Baichuan2, InternLM Это отечественные модели с открытым исходным кодом.
https://github.com/vllm-project/vllm
vLLM из Калифорнийского университета в Беркли и занимается графическими процессорами. рассуждения。
vLLm очень быстро запускает большие модели, в основном используя следующие методы:
В настоящее время поддерживает NVIDIA GPUs и AMD GPUs,Количественная оценка方лапшаподдерживатьGPTQ, AWQ, SqueezeLLM, FP8 KV Cache
https://github.com/mlc-ai/mlc-llm
Machine Learning Compilation for Large Language Models (MLC LLM) Это высокопроизводительное универсальное решение для развертывания, которое поддерживает собственное развертывание любой большой языковой модели. MLC LLM поддержка Следующих платформ и оборудования: AMD GPU、 NVIDIA GPU、 Apple GPU、 Intel GPU、 Linux / Win、 macOS、 Web браузер, iOS / iPadOS、 Android。
Этот фреймворк был разработан командой Чэнь Тяньци (инициатором tvm). Самая большая особенность заключается в том, что его можно развернуть на iOS. и Android 设备начальство,Все еще в состояниисуществовать浏览器начальство运行SDМодельиLLMМодель。
Высокопроизводительная среда вывода, разработанная Microsoft, DeepSpeed-FastGen. Воспользуйтесь преимуществами фрагментации KV кэшидинамичныйслияние сегментацийнепрерывная пакетная обработка,обеспечивает лучшее, чемvLLMлучшеиз Колебание。
Модели, поддерживаемые DeepSpeed-FastGen:
DeepSpeed Следуя основным тенденциям отрасли Разбивка на части KV кеш, непрерывная пакетная обработкатехнология,Также представлено динамичный SplitFuse технология, которая представляет собой новую стратегию поиска и генеративной комбинации, позволяет использовать динамический оперативный генеративный декомпозиции, Объединение для дальнейшего совершенствования непрерывной пакетная обработка и пропускная способность системы. Подробности см. https://github.com/microsoft/DeepSpeed/blob/master/blogs/deepspeed-fastgen/chinese/README.md
DeepSpeed-FastGen
Это хороший выборПочему ее называют платформой разработки?,Являются ли эти инструменты дополнением к обоснованию,Также существует стандартизированное API,и вспомогательные инструменты управления,Удобно разрабатывать и управлять приложением AI.
https://github.com/xorbitsai/inference/blob/main/README_zh_CN.md
Xorbits Вывод (Xinference) — это мощная и всеобъемлющая среда распределенных рассуждений. Его можно использовать для вывода различных моделей, таких как модели большого языка (LLM), модели распознавания речи, мультимодальные модели и т. д. проходить Xorbits С помощью Inference вы можете легко развернуть свои собственные модели или встроенные передовые модели с открытым исходным кодом одним щелчком мыши. Независимо от того, являетесь ли вы исследователем, разработчиком или специалистом по данным, вы можете Xorbits Inference и Frontlineиз AI Модель для изучения большего количества возможностей.
Официально представлены основные функции:
🌟 Моделирование стало проще:большой язык Модель,Модель распознавания голоса,мультимодальный Модельизразвертывать Процесс значительно упрощается。Одна команда для завершения Модельизразвертывать Работа。 ⚡️ Ультрасовременные модели, все, что вам нужно:框架Внутри置众多中英文из前沿большой язык Модель,включая байчуань,chatglm2 Подождите, вы можете испытать это одним щелчком мыши! Встроенный список моделей также быстро обновляется! 🖥 Гетерогенное оборудование, молниеносно быстрое:проходить ggml,использовать одновременноиспользоватьтыиз GPU и CPU Выполняйте логические выводы, уменьшайте задержку и увеличивайте пропускную способность! ⚙️ Интерфейс вызова, гибкий и разнообразный:Обеспечьте разнообразное использованиеиспользовать Модельизинтерфейс,включать OpenAI совместимый RESTful API (включает Function Вызов), RPC, командная строка, Интернет UI Подождите, подождите. Удобная Модельиз управления и взаимодействия. 🌐 Кластерные вычисления, распределенное сотрудничество: Поддерживает распределенное развертывание. Благодаря встроенному планировщику ресурсов модели разных размеров можно распределять по разным машинам по требованию, обеспечивая полное использование ресурсов кластера. 🔌 Открытая экология, бесшовное соединение: и Популярность благодаря бесшовному соединению со сторонними библиотеками, в том числе LangChain,LlamaIndex,Dify,к及 Chatbox。
https://github.com/langgenius/dify
Dify.AI — это открытый исходный код. LLM (Большая языковая модель) Платформа разработки приложений, которая интегрирует BaaS (бэкенд как услуга)и Концепция LLMOps охватывает создание генеративных AI Базовый стек технологий, необходимый для собственных приложений, включая встроенный RAG двигатель. использовать Dify, который можно развернуть самостоятельно на основе некоторых моделей с открытым исходным кодом, аналогичен Assistants API и GPTs способность.
Особенности диди:
1. Поддержка LLM:и OpenAI из GPT Модель серии интегрированная или с открытым исходным кодом. Llama2 Серия Модель интегрированная. Фактически, Dify поддерживает мейнстрим коммерческих моделей с открытым исходным кодом (локальное развертывание или на основе MaaS)。 2. Prompt IDE:иобъединитьсясуществовать Dify Сотрудничество посредством визуализации Prompt и следует использовать разработку инструментов оркестрации. AI приложение. Поддерживает плавное переключение нескольких больших языковых моделей. 3. РАГ двигатель:включать各种基В全文索引或向量数据库嵌入из RAG Возможность разрешить прямую загрузку PDF、TXT и другие различные тексты Формат. 4. AI Agent:基В Function Calling и ReAct из Agent Платформа вывода, которая позволяет пользователям настраивать инструменты, и вы получаете то, что видите. Диди Предоставляет более десяти встроенных возможностей вызова инструментов, таких как поиск Google, DELL·E, Stable. Diffusion、WolframAlpha ждать. 5. Текущая деятельность:монитори Анализ должениспользоватьбревноипроизводительность,Постоянно улучшать использование производственных данных. Подскажите, набор дат или модель.