Інструменти для запуску LLM локально
Запуск великих мовних моделей (LLM) як ChatGPT та Claude зазвичай вимагає надсилання даних на сервери, керовані OpenAI та іншими постачальниками моделей штучного інтелекту. Хоча ці сервіси є безпечними, деякі компанії вважають за краще зберігати свої дані повністю офлайн для кращої конфіденційності.
У цій статті розглядаються шість найкращих інструментів, які розробники можуть використовувати для запуску та тестування LLM локально, гарантуючи, що їхні дані ніколи не залишають їхніх пристроїв, схоже на те, як шифрування кінцевими точками забезпечує конфіденційність.
Чому варто використовувати локальні LLM?
Інструмент, як LM Studio, не збирає дані користувачів і не відстежує їхні дії під час використання для запуску локальних LLM. Це дозволяє всім вашим чат-даним залишатися на вашому локальному пристрої без передачі на сервери AI/ML.
- Конфіденційність: Ви можете вводити запити до локальних LLM у кількох кроках, не відправляючи ваші дані запитів з вашого localhost.
- Опції налаштування: Локальні LLM надають розширені налаштування для CPU, температури, довжини контексту, налаштувань GPU і багато іншого. Це схоже на майданчик OpenAI.
- Підтримка та безпека: Вони забезпечують аналогічну підтримку та безпеку, як OpenAI або Claude.
- Підписка та вартість: Ці інструменти безкоштовні для використання, і не вимагають щомісячної підписки. Для хмарних сервісів, як OpenAI, кожен запит API потребує оплати. Локальні LLM допомагають заощаджувати кошти, оскільки немає щомісячних підписок.
- Офлайн підтримка: Ви можете завантажувати та підключатися до великих мовних моделей навіть без підключення до Інтернету.
- З'єднання: Іноді підключення до хмарного сервісу, такого як OpenAI, може призвести до поганого сигналу та проблем із з'єднанням.
Шість найкращих безкоштовних інструментів для локальних LLM
Залежно від вашого конкретного випадку використання, є кілька офлайн додатків для LLM, серед яких можна вибрати. Деякі з цих інструментів абсолютно безкоштовні для особистого та комерційного використання. Інші можуть вимагати надсилання запиту для використання в бізнесі. Існує кілька інструментів локальних LLM для Mac, Windows та Linux. Ось шість найкращих інструментів, серед яких ви можете вибирати.
1. LM Studio
LM Studio може запускати будь-який файл моделі у форматі gguf
. Воно підтримує файли gguf
від постачальників моделей, таких як Llama 3.1, Phi 3, Mistral та Gemma. Щоб використовувати LM Studio, перейдіть за посиланням вище та завантажте програму для вашого пристрою. Після запуску LM Studio на головній сторінці з'являються найкращі LLM для завантаження та тестування. Є також рядок пошуку, щоб фільтрувати та завантажувати конкретні моделі від різних постачальників AI.
Пошук моделі від конкретної компанії показує кілька моделей, від маленьких до великих квантизацій. Залежно від вашого пристрою, LM Studio використовує передбачення сумісності, щоб виділити модель, яка працюватиме на цій машині чи платформі.
Ключові функції LM Studio
LM Studio надає схожі функції та можливості, як ChatGPT. Воно має кілька функцій. Ось основні функції LM Studio:
- Налаштування параметрів моделі: Це дозволяє вам налаштовувати температуру, максимальні токени, штрафи за частоту та багато іншого.
- Історія чату: Дозволяє зберігати запити для подальшого використання.
- Параметри та підказки для UI: Ви можете навести курсор на кнопки інформації, щоб подивитися параметри моделей та терміни.
- Крос-платформеність: LM Studio доступне на Linux, Mac і Windows.
- Перевірка специфікацій машини: LM Studio перевіряє специфікації комп'ютера, такі як GPU і пам'ять, та повідомляє про сумісні моделі.
Це запобігає завантаженню моделі, яка може не працювати на певній машині. - AI чат і майданчик (Playground): Спілкуйтеся з великою мовною моделлю в форматі багатокрокового чату та експериментуйте з кількома LLM, завантажуючи їх одночасно.
- Локальний сервер інференсу для розробників (Inference Server): Дозволяє розробникам налаштувати локальний HTTP сервер, схожий на API OpenAI.
Локальний сервер надає зразки запитів Curl та Python клієнтів. Ця функція допомагає будувати AI додатки, використовуючи LM Studio для доступу до конкретної LLM.
# Приклад: використання вашої наявної конфігурації OpenAI
from openai import OpenAI
# Вказати локальний сервер
client = OpenAI(base_url="http://localhost:1234/v1", api_key="lm-studio")
completion = client.chat.completions.create(
model="TheBloke/Mistral-7B-Instruct-v0.1-GGUF",
messages=[
{"role": "system", "content": "Always answer in rhymes."},
{"role": "user", "content": "Introduce yourself."}
],
temperature=0.7,
)
print(completion.choices[0].message)
З використанням цього зразка коду на Python, ви можете повторно використати існуючу конфігурацію OpenAI і змінити базову URL-адресу, щоб вказати на ваш локальний сервер.
- Імпорт бібліотеки Python від OpenAI: LM Studio дозволяє розробникам імпортувати бібліотеку Python від OpenAI та вказати базову URL-адресу на локальний сервер (localhost).
- Сесія з кількома моделями: Використовуйте один запит і вибирайте кілька моделей для оцінки.
Переваги використання LM Studio
Цей інструмент безкоштовний для особистого використання і дозволяє розробникам запускати LLM через вбудований інтерфейс чату та майданчик. Він надає красивий і зручний інтерфейс з фільтрами та підтримує підключення до бібліотеки Python від OpenAI без потреби в API ключі. Компанії та бізнеси можуть використовувати LM Studio за запитом. Однак він вимагає Mac M1/M2/M3 або новішого, або ПК на Windows з процесором, який підтримує AVX2. Користувачі Intel та AMD обмежені використанням Vulkan inference engine в v0.2.31.
2. Jan
Можна вважати Jan відкритою версією ChatGPT, створеною для роботи офлайн. Він розроблений спільнотою користувачів з філософією власності. Jan дозволяє запускати популярні моделі, як Mistral або Llama, на вашому пристрої без підключення до Інтернету. З Jan ви можете отримувати доступ до віддалених API, таких як OpenAI та Groq.
Ключові функції Jan
Jan — це електронний додаток з функціями, схожими на LM Studio. Він робить AI доступним для всіх, перетворюючи споживчі машини на комп'ютери для AI. Оскільки це проект з відкритим кодом, розробники можуть вносити в нього зміни та розширювати функціональність. Ось основні функції Jan:
- Локальність (Local): Ви можете запускати свої улюблені AI моделі на пристроях без підключення до Інтернету.
- Готові моделі для використання: Після завантаження Jan, ви отримаєте набір вже встановлених моделей для початку. Також є можливість шукати конкретні моделі.
- Імпорт моделей: Підтримується імпорт моделей з джерел, таких як Hugging Face.
- Безкоштовний, крос-платформений та відкритий код: Jan є 100% безкоштовним, з відкритим кодом, і працює на Mac, Windows та Linux.
- Налаштування параметрів інференсу: Налаштовуйте параметри моделей, такі як максимальні токени, температура, потік, штраф за частоту і багато іншого.
Усі налаштування, використання моделей та параметри зберігаються локально на вашому комп'ютері. - Розширення: Jan підтримує розширення, такі як TensortRT та Inference Nitro для налаштування та вдосконалення ваших AI моделей.
Переваги використання Jan
Jan надає чистий і простий інтерфейс для взаємодії з LLM і зберігає всі ваші дані та інформацію про обробку локально. Він має понад сімдесят великих мовних моделей, вже встановлених для вашого використання. Наявність цих готових до використання моделей робить легким підключення та взаємодію з віддаленими API, такими як OpenAI та Mistral. У Jan також є чудові спільноти на GitHub, Discord та Hugging Face, де можна слідкувати за оновленнями та просити допомогу. Однак, як і всі інші інструменти LLM, моделі працюють швидше на Mac з Apple Silicon, ніж на Intel.
3. Llamafile
Llamafile підтримується Mozilla, яка має на меті підтримку та зробити відкритий AI доступним для всіх, використовуючи швидкий CPU інференс без доступу до мережі. Він перетворює LLM в багатоплатформений Executable Linkable Format (ELF). Це один з найкращих варіантів для інтеграції AI в додатки, дозволяючи запускати LLM за допомогою лише одного виконуваного файлу.
Як працює Llamafile
Llamafile розроблений для перетворення ваг у кілька виконуваних програм, які не потребують установки для роботи на архітектурах, таких як Windows, MacOS, Linux, Intel, ARM, FreeBSD та інших. У середині Llamafile використовує tinyBLAST для роботи на ОС, таких як Windows, без необхідності в SDK.
Ключові функції Llamafile
- Виконуваний файл: На відміну від інших інструментів LLM, таких як LM Studio та Jan, Llamafile вимагає лише одного виконуваного файлу для запуску LLM.
- Використання наявних моделей: Llamafile підтримує використання існуючих інструментів моделей, таких як Ollama та LM Studio.
- Доступ або створення моделей: Ви можете отримувати доступ до популярних LLM від OpenAI, Mistral, Groq та інших. Також підтримується створення моделей з нуля.
- Конвертація файлів моделей: Ви можете конвертувати формат файлів багатьох популярних LLM, наприклад,
.gguf
в.llamafile
за допомогою однієї команди.
llamafile-convert mistral-7b.gguf
Як почати з Llamafile
Щоб встановити Llamafile, перейдіть на сайт Huggingface, виберіть Models в навігації та знайдіть Llamafile. Ви також можете встановити свою бажану квантизовану версію за наступним посиланням.
https://huggingface.co/Mozilla/Meta-Llama-3.1-8B-Instruct-llamafile/tree/main
Примітка: Чим більший номер квантизації, тим краща відповідь. Як показано на зображенні вище, в цій статті використовується Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile
, де Q6
позначає номер квантизації.
Крок 1: Завантажити Llamafile
Перейдіть за наведеним посиланням і натисніть будь-яку кнопку завантаження для отримання бажаної версії.
Якщо на вашому комп'ютері встановлено утиліту wget, ви можете завантажити Llamafile за допомогою наступної команди.
wget https://huggingface.co/Mozilla/Meta-Llama-3.1-8B-Instruct-llamafile/blob/main/Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile
Замість URL ви повинні вставити бажану версію.
Крок 2: Зробіть Llamafile виконуваним
Після завантаження певної версії Llamafile, ви повинні зробити його виконуваним за допомогою наступної команди, перейшовши в каталог, де знаходиться файл.
chmod +x Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile
Крок 3: Запустіть Llamafile
Додайте крапку і косу риску ./
до імені файлу для запуску Llamafile.
./Meta-Llama-3.1-8B-Instruct.Q6_K.llamafile
Тепер додаток Llamafile буде доступний за адресою http://127.0.0.1:8080
для запуску ваших різних LLM.
Переваги використання Llamafile
Llamafile сприяє демократизації AI та ML, роблячи LLM легко доступними для споживчих процесорів. У порівнянні з іншими локальними додатками LLM, такими як Llama.cpp, Llamafile забезпечує найшвидший досвід обробки запитів та кращу продуктивність на ігрових комп'ютерах. Завдяки більш швидкій продуктивності це відмінний варіант для стислого викладення довгих текстів та великих документів. Він працює на 100% офлайн і приватно, тому користувачі не діляться своїми даними з жодним AI сервером чи API. Спільноти машинного навчання, такі як Hugging Face, підтримують формат Llamafile, що полегшує пошук моделей, пов'язаних з Llamafile. Він також має чудову відкриту спільноту, яка розвиває та вдосконалює цей інструмент.
4. GPT4ALL
GPT4ALL побудований на принципах конфіденційності, безпеки та відсутності необхідності в Інтернеті. Користувачі можуть встановити його на Mac, Windows та Ubuntu. У порівнянні з Jan або LM Studio, GPT4ALL має більше щомісячних завантажень, GitHub зірок і активних користувачів.
Ключові функції GPT4ALL
GPT4ALL може запускати LLM на основному споживчому обладнанні, такому як чіпи Mac M-Series, AMD та NVIDIA GPU. Ось основні його функції.
- Конфіденційність на першому місці: Залишайте приватну та чутливу інформацію про чати та запити тільки на вашому комп'ютері.
- Не потрібен Інтернет: Працює повністю офлайн.
- Огляд моделей: Ця функція дозволяє розробникам переглядати та завантажувати різні види LLM для експериментів. Ви можете вибирати з близько 1000 відкритих мовних моделей, таких як LLama, Mistral та інших.
- Локальні документи: Ви можете дозволити вашому локальному LLM доступ до чутливих даних за допомогою локальних документів, таких як
.pdf
та.txt
, без необхідності в мережі і не передаючи дані з вашого пристрою. - Опції налаштування: Він надає кілька параметрів налаштування для чат-ботів, таких як температура, розмір партії, довжина контексту тощо.
- Корпоративна версія: GPT4ALL пропонує корпоративний пакет з безпекою, підтримкою та ліцензіями на кожен пристрій, щоб привнести локальний AI в бізнес.
Як почати з GPT4All
Щоб почати використовувати GPT4All для запуску LLM локально, Завантажте потрібну версію для вашої операційної системи.
Переваги використання GPT4ALL
Окрім Ollama, GPT4ALL має найбільшу кількість контриб'юторів на GitHub та близько 250000 активних користувачів щомісяця (згідно з https://www.nomic.ai/gpt4all) і в порівнянні з конкурентами. Додаток збирає анонімні дані користувачів про аналітику використання та спільний доступ до чатів. Однак користувачі можуть вибрати, чи погоджуються вони на це, чи ні. Використовуючи GPT4ALL, розробники отримують перевагу від великої бази користувачів, спільноти GitHub та Discord.
5. Ollama
Завдяки Ollama ви можете легко створювати локальні чат-боти без підключення до API, таких як OpenAI.
Оскільки все працює локально, вам не потрібно платити за підписку чи виклики API.
Ключові функції Ollama
- Налаштування моделей: Ollama дозволяє конвертувати файли моделей
.gguf
і запускати їх за допомогоюollama run modelname
. - Бібліотека моделей: Ollama має велику колекцію моделей, які можна спробувати на ollama.com/library.
- Імпорт моделей: Ollama підтримує імпорт моделей з PyTorch.
- Інтеграції з ком'юніті: Ollama безперешкодно інтегрується в веб- та десктопні додатки, такі як Ollama-SwiftUI, HTML UI, Dify.ai та інші.
- Підключення до баз даних: Ollama підтримує кілька платформ для даних.
- Інтеграція з мобільними пристроями: Додаток SwiftUI, такий як Enchanted, приносить Ollama на iOS, macOS та visionOS. Maid — це кросплатформений додаток на Flutter, який взаємодіє з файлами моделей
.gguf
локально.
Як почати з Ollama
Щоб використовувати Ollama вперше, відвідайте https://ollama.com і завантажте версію для вашої машини. Ви можете встановити його на Mac, Linux або Windows. Після установки Ollama, ви можете переглянути його детальну інформацію в терміналі за допомогою наступної команди.
ollama
Щоб запустити конкретну модель LLM, вам потрібно завантажити її за допомогою:
ollama pull modelname
, де modelname
— це ім’я моделі, яку ви хочете встановити. Ознайомтесь з моделями для завантаження на GitHub. Команда pull
також використовується для оновлення моделі. Після її виконання буде завантажена лише різниця.
Після завантаження, наприклад, llama3.1
, виконання ollama run llama3.1
в командному рядку запускає модель.
Ілюстрація до Ollama
У наведеному прикладі ми просимо модель llama3.1
вирішити задачу з фізики на роботу та енергію.
Переваги використання Ollama
Ollama має понад 200 контриб'юторів на GitHub з активними оновленнями. Це додаток з найбільшою кількістю контриб'юторів і більшою розширюваністю серед інших обговорюваних інструментів з відкритим кодом для LLM.
6. LLaMa.cpp
LLaMa.cpp — це базова технологія бекенду (двигун інференсу), яка живить локальні інструменти LLM, такі як Ollama та багато інших. Llama.cpp підтримує значні інференси великих мовних моделей з мінімальною конфігурацією та чудовою локальною продуктивністю на різному обладнанні. Також його можна запускати в хмарі.
Ключові функції LLaMa.cpp
- Налаштування: Має мінімальне налаштування. Ви встановлюєте його за допомогою однієї команди.
- Продуктивність: Показує чудову продуктивність на різному обладнанні як локально, так і в хмарі.
- Підтримувані моделі: Підтримує популярні та основні LLM, такі як Mistral 7B, Mixtral MoE, DBRX, Falcon та багато інших.
- Інтерфейси AI для фронтенду: LLaMa.cpp підтримує відкриті інструменти UI для LLM, такі як MindWorkAI/AI-Studio (FSL-1.1-MIT), iohub/collama тощо.
Як почати з LLaMa.cpp
Щоб запустити вашу першу локальну велику мовну модель за допомогою llama.cpp, ви повинні встановити його за допомогою:
brew install llama.cpp
Далі завантажте модель, яку ви хочете запустити, з Hugging Face або з будь-якого іншого джерела.
Наприклад, завантажте модель за посиланням нижче з Hugging Face та збережіть її в будь-якому місці на вашому комп'ютері.
https://huggingface.co/MaziyarPanahi/Mistral-7B-Instruct-v0.3-GGUF/resolve/main/Mistral-7B-Instruct-v0.3.Q4_K_M.gguf
Використовуючи ваш улюблений інструмент командного рядка, такий як Terminal, перейдіть у каталог, де збережено файл .gguf
, який ви щойно завантажили, і виконайте наступні команди.
llama-cli --color \
-m Mistral-7B-Instruct-v0.3.Q4_K_M.ggufb \
-p "Write a short intro about SwiftUI"
Підсумовуючи, спочатку ви викликаєте інструмент LLaMa CLI та встановлюєте кольори й інші параметри. Прапор -m
вказує шлях до моделі, яку ви хочете використовувати. Прапор -p
визначає запит, який ви хочете використовувати для інструкцій до моделі.
Після виконання цієї команди ви побачите результат у вигляді попереднього перегляду.
Ілюстрація до LLaMa.cpp
Використання локальних LLM
Запуск LLM локально може допомогти розробникам, які хочуть детальніше зрозуміти їх продуктивність і роботу. Локальні LLM можуть запитувати приватні документи та технічні статті, щоб інформація про ці документи не потрапляла на сервери AI або API в хмарі. Локальні LLM корисні в місцях без інтернет-зв'язку та в умовах поганого прийому мережі.
Наприклад, в телемедицині локальні LLM можуть сортувати пацієнтські документи, не завантажуючи їх на жодного постачальника AI API через проблеми з конфіденційністю.
Оцінка продуктивності LLM для локального запуску
Знати продуктивність великої мовної моделі перед її локальним використанням важливо для отримання потрібних відповідей. Існує кілька способів визначити продуктивність конкретної LLM. Ось кілька способів:
- Навчання: На якому наборі даних модель була натренована?
- Файнтюнінг: Наскільки модель може бути налаштована для виконання спеціалізованого завдання або чи можна її доопрацювати для конкретної галузі?
- Наукові дослідження: Чи має LLM наукову статтю?
Для відповіді на ці питання ви можете перевірити чудові ресурси, такі як Hugging Face та Arxiv.org. Також Open LLm Leaderboard і LMSYS Chatbot Arena надають детальну інформацію та бенчмарки для різних LLM.
Висновки про локальні інструменти LLM
Як було обговорено в цій статті, існує кілька причин, чому варто вибирати та використовувати великі мовні моделі локально. Ви можете налаштувати модель для виконання спеціалізованого завдання в телемедичному додатку, якщо не хочете відправляти ваші дані через інтернет на AI API постачальника. Багато інструментів з відкритим кодом для локальних LLM з графічним інтерфейсом (GUI), таких як LLm Studio та Jan, надають інтуїтивно зрозумілі UI для налаштування та експериментування з LLM без підписки на сервіси, як OpenAI або Claude. Ви також дізналися про потужні інструменти командного рядка, такі як Ollama та LLaMa.cpp, які допомагають запускати та тестувати моделі локально без підключення до інтернету. Ознайомтесь з AI Chatbot рішенням Stream для інтеграції чат-бота AI у вашому додатку і відвідайте всі відповідні посилання, щоб дізнатися більше.
Оригінально опубліковано на https://getstream.io.
Перекладено з: The 6 Best LLM Tools To Run Models Locally