В последние несколько кварталов движение за демократизацию больших языковых моделей (LLM) развивалось быстрыми темпами. С момента первого мета-выпуска Llama 2 до сегодняшнего дня сообщество открытого исходного кода адаптировалось, развивалось и внедрялось с непреодолимой тенденцией. LLM перешел от дорогого запуска на графических процессорах к приложениям, которые могут выполнять логический вывод на большинстве потребительских компьютеров, широко известным как локальные большие модели.
Однако для вывода локальных больших моделей требуется значительный объем видеопамяти. Для моделей с 16-битной точностью с плавающей запятой (FP16) потребность в видеопамяти примерно вдвое превышает количество параметров модели. Это делает использование больших моделей сложной задачей при характеристиках аппаратного обеспечения среднего домашнего компьютера. Для решения этой проблемы, как того требует время, появилась технология квантования модели, сжимающая точность весовых параметров до 4-значной целочисленной точности, что значительно снижает требования к видеопамяти.
В этом контексте проект llama.cpp переписывает код вывода с помощью C/C++, избегая сложных зависимостей, представленных PyTorch, и обеспечивая более широкую аппаратную поддержку, включая чистый вывод ЦП, Apple Silicon и т. д. Однако использование llama.cpp по-прежнему имеет определенные пороговые значения для пользователей, которым необходимо получить веса модели, клонировать код проекта, выполнить количественную оценку модели, установить переменные среды и т. д.
До появления Ollama, простой и удобной в использовании локальной среды для запуска больших моделей, она предоставляла пользователям более удобный способ запуска больших моделей на персональных компьютерах.
Лама 2 комплект из трёх предметов
в соответствии сопыт,16 модель точности с плавающей запятой (FP16), видеопамять, необходимая для вывода (в GB ед.) — это примерно количество параметров модели (в 10 в два раза больше миллиардов). Соответственно, Лама 2 7B(70 миллиардов), что соответствует примерно 14GB видеопамять для вывода, что явно выходит за рамки аппаратных характеристик среднего домашнего компьютера. Для справки кусок GeForce RTX 4060 Ti 16GB Рыночная цена видеокарт превышает 3000 Юань.
Технология квантования модели может значительно снизить требования к видеопамяти. Взяв в качестве примера 4-битное квантование, оно сжимает исходные параметры прецизионного веса FP16 в 4-битную целочисленную точность, значительно уменьшая объем веса модели и видеопамять, необходимую для вывода, требуя всего от 1/4 до 1/3 FP16. Это означает, что вывод модели 7B можно начать примерно с 4 ГБ видеопамяти (конечно, фактические требования к видеопамяти будут продолжать увеличиваться по мере наложения контекстного содержимого).
В то же время проект llama.cpp переписал код вывода на C/C++, что не только позволяет избежать сложных зависимостей, представленных PyTorch, но также обеспечивает более широкую аппаратную поддержку, включая чистый вывод ЦП, Apple Silicon и другие базовые вычислительные архитектуры. может дать полную свободу соответствующему ускорению вывода. Благодаря популярности архитектуры Llama, возможности количественной оценки и рассуждения llama.cpp могут быть практически легко перенесены в большие языковые модели с открытым исходным кодом той же архитектуры, такие как серия Qwen от Alibaba Cloud, серия Yi от Zero One Wish и т. д.
хотя llama.cpp Это приносит много преимуществ, но когда вы действительно хотите испытать это, вы обнаруживаете, что вам нужно получить вес Модели, клонировать код проекта и выполнить Модель Количественная. оценка、Установить переменные среды、Создание исполняемых файлов и многие другие шаги можно выполнить через командную строку.изформа задать тестовый вопрос,Не говоря уже о десятках, которые могут потребовать ручной настройки.изпараметрПонятно。
Поэтому долгое время локальные крупные модели и приложения на основе llama.cpp были доступны лишь небольшому числу компьютерных фанатов и исследователей, а высокий порог входа отсеивал многих обычных людей.
Пока не будет Ollama——Простой и легкийиспользоватьиз Большой местный Модель Запустите фреймворк。С окружающими Ollama Экосистема вышла на передний план, и все больше пользователей могут легко играть с большими моделями на своих компьютерах.
Официальный сайт
Ollama Установка проста, macOS прямо в Официальный сайт Загрузите установочный пакет и откройте его; Установочный пакет еще не предоставлен. Официальная рекомендация находится по адресу. WSL 2 Китай и Израиль Linux Установить командой:
% curl https://ollama.ai/install.sh | sh
намекать:Пожалуйста, всегда обращайте внимание на решение суда curl | sh
Риски скриптов установки стилей.
если вы знакомы с Docker,Вы также можете использовать его напрямуюиспользовать ЧтоОфициальное изображение。
Когда ты бежишь ollama --version
Когда команда успешно запрашивает версию, это означает Ollama Установка успешно завершена, и вы можете использовать ее дальше. pull
команда отОнлайн-библиотека моделейскачать Модель Приходите и играйте Понятно。
Если взять в качестве примера китайскую точно настроенную модель Llama2-Chinese 7B, следующая команда загрузит 4-битный файл квантованной модели размером около 4 ГБ. Для вывода требуется не менее 8 ГБ памяти, а для бесперебойной работы рекомендуется 16 ГБ. .
% ollama pull llama2-chinese
После завершения загрузки используйте run
В модели выполнения команды вы можете напрямую прикрепить сообщение к команде или оставить его пустым, чтобы войти в диалоговый режим. Диалоговый режим имеет несколько встроенных команд, которым предшествуют косые черты:
# Одиночный вход
% ollama run llama2-chinese "Небо для чего голубое?"
# Режим разговора
% ollama run llama2-chinese
>>> /?
Available Commands:
/set Set session variables
/show Show model information
/bye Exit
/?, /help Help for a command
Use """ to begin a multi-line message.
>>> Sky для Что такое синий цвет?
Этот вопрос является общим спором. Некоторые учёные полагают, что голубой цвет неба можно объяснить цветом света, исходящего от мельчайших фрагментов тумана в облаках.,Другие полагают, что это связано с температурой тела Земли. Этот вопрос еще не стал предметом споров. Некоторые учёные полагают, что голубой цвет неба можно объяснить цветом света, исходящего от мельчайших фрагментов тумана в облаках.,Другие полагают, что это связано с температурой тела Земли. Общепринятого объяснения на данный момент не существует.
Стоит отметить, что Ollama определит работающее оборудование и, если это возможно, вызовет ускорение графического процессора. Вы можете открыть Монитор активности или Диспетчер задач, чтобы наблюдать во время вывода и проверять.
На этом этапе у вас под рукой есть большая местная модель.
Если вы чувствуете, что режим командной строки непрост в использовании, Оллама есть одинрядизПериферийные инструментыДоступен для использованияиспользовать,Включать Понятновеб-страница、рабочий стол、Терминал и другие интерактивные интерфейсы, а также множество расширений.
Причина Ollama Столь богатая экология может быть быстро сформирована, поскольку с самого начала проекта у нее есть четкая позиция: позволить большему количеству людей запускать большие модели локально самым простым и быстрым способом. Итак, Оллама Не просто инкапсуляция llama.cpp, но одновременно упаковывает множество параметров и соответствующих моделей; потому что Эта встреча ждет Вкраткийиз Инструменты командной строкииконюшняизAPI сервера。этотдля Вниз по течению следуетиспользоватьи Развернуть предложение Понятнобольшое удобство。
Что касается графического интерфейса Ollama, существует множество вариантов в зависимости от предпочтений:
Веб-версия:Ollama WebUI имеет самый близкий ChatGPT Интерфейс и богатейшие функциональные возможности должны быть Docker развертывать;
Пример веб-интерфейса Ollama, домашняя страница проекта с исходным изображением
Терминал TUI версия:oterm Обеспечивает полные функции и поддержку сочетаний клавиш, используйте brew
или pip
Установить;
Другой пример: домашняя страница проекта с исходным изображением
Плагин Рейкаста:Прямо сейчас Raycast Ollama,этот Лично для меня это тоже самое распространенноеиспользоватьиз Ollama внешний интерфейс Пользовательский интерфейс, который наследует Raycast Преимущество из заключается в том, что вы можете напрямую настроить команду использовать после выбора оператора или скопировать для более удобной работы. И ценность создания для составляет около 8 долларов США/месяц Raycast AI Альтернатива Рейкасту Ollama Осуществленный Raycast AI большинство функций и с Ollama Итерация моделей с открытым исходным кодом также будет поддерживать мультимодальность и т. д. Raycast AI Неподдерживаемые функции имеют неограниченный потенциал.
Плагин Raycast Ollama для Raycast AI
Кроме того, существуют Swift написано macOS родное приложение Ollamac、похожий В Notion AI из Obsidian OllamaЖду интересных реакцийиспользовать,Вы можете выбрать использование по запросу.
Если вы внимательно прочитали предыдущую демонстрацию «Что такое голубое на небе» из ответа,Вы можете почувствовать что-то странное – поздравляем,Вы успешно овладели большой языковой Модельиз «Иллюзия». на самом деле,потому чтодля Количество Параметры количественные оценкаповрежден,Подходит для локального бега.Из Модель более склонна к галлюцинациям.,В тяжелых случаях первые слова могут не совпадать с последними словами. В этом отношении,Единственный возможный способ смягчить его – это сделать это, если позволяют условия.,Попробуйте запустить параметр побольше из Модель.
Например, при более раннем начале использования используется Llama2-Chinese Модель 7B Количество параметров 4bit Количественная версия. если есть 16GB из памяти, сразу можно подумать о бегстве 13B Количество параметров Версия。
Как это сделать? Оллама взято с Docker Зеркало организации аналогично схеме, makeuseModel name плюс тег из формы ( model:tag
), чтобы определить конкретную из Модель Версия, по умолчанию используется значение, когда метка не добавлена. latest
, обычно соответствующий 7B Количество параметров 4bit Количественная версия. И если ты хочешь бежать 13B версию, вы можете использовать 13b
Этикетка:
% ollama run llama2-chinese:13b "Небо для чего голубое?"
Небо голубое из-за рассеяния солнечного света атмосферой.
Перед восходом солнца мы видим, что небо фиолетовое и переливающееся. Это происходит потому, что, когда солнечный свет возвращается с уровня моря, он рассеивается молекулами углекислого газа и воды в атмосфере в синие, фиолетовые и переливающиеся цвета.
А после восхода солнца небо становится серым, потому что солнечный свет блокируется атмосферой и уже не хватает изотражения, чтобы придать небу синеву.
Когда мы видим небо, его цвет обусловлен взаимодействием солнечного света и вещества в атмосфере. К этим веществам относятся вода, углекислый газ и другие газы, а также мельчайшие частицы борнеола и пыли.
когда мы видим Небостановиться Понятноночью,Небо постепенно станет темно-синим,Это связано с распространением солнечного света в атмосфере.,В то же время это обусловлено и строением атмосферы.
можно увидеть,Эффект действительно лучше Понятно Некоторый。Что Другие дополнительные теги также можно найти в соответствующих МодельизвкладкаПроверять。
также,Вы также можете обменять на другую модель. здесь,Порекомендуйте несколько официальных библиотек моделей, которые относительно хорошо поддерживают китайский язык и более интересны:
В дополнение к чистому языку большая Модель, Оллама с Версия 0.1.15Начните оказывать поддержкуиз Зрение Модель Также стоит поиграть。Размещайте местные фотографиииз Путь написан в prompt (macOS использовать пользователи могут напрямую перетащить изображение в Терминал, чтобы узнать его путь):
% ollama run llava
>>> What does the text in this image say? /Users/mchiang/Downloads/image.png
Added image '/Users/mchiang/Downloads/image.png'
The text in this image says "The Ollamas."
Пример LLaVA, источник изображения, объявление о выпуске Ollama
в соответствии с ChatGPT «из» означает «использоватьопыт», и большинство людей уже знают о важности слова «из». Хорошая изсистема подсказок позволяет эффективно привести большую Модель в нужное вам состояние. существовать Ollama , есть много способов Индивидуальные системные подсказки。
Прежде всего, довольно много Ollama внешний Интерфейс предоставил системе слово-подсказку для входа в конфигурацию, и рекомендуется напрямую использовать его функции. Более того, эти внешние интерфейс внизу часто пропускается API и Ollama Сервервзаимодействиеиз,Мы также можем напрямую настроить использование,И передайте опцию слова приглашения системы:
curl http://localhost:11434/api/chat -d '{
"model": "llama2-chinese:13b",
"messages": [
{
"role": "system",
"content": «Отвечайте коротко пиратским тоном».
},
{
"role": "user",
"content": "Небо для чего голубое?"
}
],
"stream": false
}'
в role
для system
изMessage — слово-подсказка для системы.
Ollama из ModelFile оставляет больше места для определений, которые могут использовать пользователи.,кроме слов системной подсказки,Включает шаблоны разговоров, Модель температуры рассуждения、上下文窗口长度等параметрВсе приемлемыснастройки строки,Подходит для продвинутых пользователей.
Перед созданием пройдите show --modelfile
Команда может просмотреть существующие Моделииз. ModelFile Содержание, для справки:
% ollama show --modelfile llama2-chinese:13b
# Modelfile generated by "ollama show"
# To build a new Modelfile based on this one, replace the FROM line with:
# FROM llama2-chinese:13b
FROM ~/.ollama/models/blobs/sha256:8359bebea988186aa6a947d55d67941fede5044d02e0ab2078f5cc0dcf357831
TEMPLATE """{{ .System }}
Name: {{ .Prompt }}
Assistant:
"""
PARAMETER stop "Name:"
PARAMETER stop "Assistant:"
к Индивидуальные системные подсказки и изменить параметр температуры вывода. Для примера необходимо создать следующий формат: ModelFile:
FROM llama2-chinese:13b
SYSTEM «Отвечайте пиратским тоном».
PARAMETER temperature 0.1
а затем использовать create
команде создания, новая из Модель будет использоваться вместе с исходным файлом веса Модели, без каких-либо корректировок параметров параметров:
ollama create llama2-chinese-pirate -f ~/path/to/ModelFile
Таким образом, была получена локальная Модель, принадлежащая сиз.
Если и обычное программное обеспечение следует сравнивать, Оллама Опыт изготовления использования сложно назвать «изящным». Но по сравнению с ситуацией несколько месяцев назад прогресс, который он приносит, подобен переходу от подсечного земледелия к современному обществу: в то время все еще требовались реальные деньги, чтобы собирать карты и настраивать окружающую среду для адаптации. скомпилирован для запуска; сейчас Модельвыпуск меньше недели (Phi-2) Выпущено на прошлой неделе) может без проблем работать на вашем ноутбуке. С этой точки зрения говорят, что Ollama для AI Не будет преувеличением сказать, что мы внесли свой вклад в демократизацию технологий.
Справочная статья: