Пропустити навігацію EPAM

Генеративний ШІ на практиці: як створити власну модель за $20

Думка експерта
  • Testing
  • Artificial Intelligence

Чи знаєте ви, що локальний генеративний ШІ може бути доступним кожному розробнику всього за $20? Саме про це йшлося на нещодавньому вебінарі, організованому компанією EPAM, де Віктор Григорчук, провідний інженер з тестування програмного забезпечення з восьмирічним досвідом автоматизації на Python і JS, поділився практичними знаннями про створення власних AI-моделей.

Якщо ви турбуєтесь про безпеку даних при використанні комерційних мовних моделей для генерації коду, або шукаєте економічно ефективні рішення для автоматизації процесів розробки, цей матеріал буде для вас особливо цікавим. На вебінарі було продемонстровано, як використовувати open-source моделі для створення автоматичних тестів, а також розкрито секрети ефективного навчання моделей на потужностях користувацьких відеокарт.

Зокрема, в цій статті ми розглянемо практичні аспекти fine-tuning та LoRA, які дозволяють адаптувати попередньо навчені моделі для специфічних завдань без значних ресурсних витрат. Також ви дізнаєтесь, як забезпечити безпеку даних, використовуючи локальні моделі, що не потребують доступу до інтернету.

Рекомендуємо переглянути запис вебінару, щоб отримати повне розуміння цих можливостей.

Локальні моделі ШІ: альтернатива комерційним рішенням

З кожним днем клієнти стають все обережнішими у впровадженні ШІ-агентів для роботи з їхніми комерційними даними. Саме тому Віктор розглянув локальні моделі як практичну альтернативу комерційним ШІ-сервісам. Ця тема особливо актуальна для розробників та спеціалістів з автоматизації, які прагнуть балансувати між інноваціями та безпекою.

Обмеження комерційних моделей у корпоративному середовищі

Комерційні ШІ-сервіси часто збирають персональні дані користувача та зберігають інформацію, введену в запити до ШІ-моделі. Така непрозорість використання публічних ШІ-сервісів підвищує ризик викрадення комерційної таємниці та витоку конфіденційної інформації, що може призвести до бізнесових та репутаційних втрат, а інколи навіть до мільйонних штрафів з боку контролюючих державних органів.

Переваги Open-Source моделей для розробки

Відкриті моделі штучного інтелекту пропонують унікальні переваги порівняно з комерційними аналогами. Насамперед вони забезпечують повну прозорість процесу функціонування моделі, що критично важливо для застосувань, де рішення ШІ мають значний вплив.

Ключові переваги локальних моделей:

  • контроль над даними та відповідність регуляторним вимогам;
  • відсутність лімітів на кількість запитів;
  • можливість налаштування під специфічні потреби проєкту;
  • незалежність від змін у ціновій політиці сервісів.

ПРИЄДНУЙСЯ ДО НАШОЇ КОМАНДИ

Як зазначив спікер на вебінарі, навіть для проєктів з обмеженими обчислювальними ресурсами існують моделі з маленьким контекстним вікном, що ефективно виконують необхідні завдання.

Hugging Face та інші джерела відкритих моделей

Hugging Face став справжнім ігровим майданчиком для ентузіастів машинного навчання, дослідників і розробників. Заснована у 2016 році, ця платформа містить попередньо навчені моделі, такі як BERT, GPT і RoBERTa, всі з відкритим вихідним кодом.

Серед найбільш перспективних відкритих моделей на ринку варто відзначити:

  • DeepSeek R1 — китайська модель з відкритим кодом, що добре працює з кодом і математикою;
  • Meta Llama — безкоштовна модель, орієнтована на математику, знання загального характеру та інструкції;
  • Mistral — модель, що може бути оптимізована для корпоративного використання.

Альянс OpenEuroLLM додатково сприяє розвитку відкритих мовних моделей, виділивши бюджет у 52 млн євро на створення європейського штучного інтелекту з відкритим вихідним кодом.

Запуск локальної моделі ШІ на власному комп'ютері

Під час вебінару Віктор детально продемонстрував, як розгорнути потужні моделі штучного інтелекту локально на власному комп'ютері. Цей підхід не лише забезпечує конфіденційність даних, але й дозволяє працювати без залежності від інтернет-з'єднання, що особливо важливо для критичних бізнес-процесів.

Ollama: фреймворк для локального розгортання

Ollama – це потужний інструмент з відкритим вихідним кодом, що створює ізольоване середовище для запуску моделей штучного інтелекту. Віктор продемонстрував, як цей фреймворк дозволяє завантажувати, керувати та запускати мовні моделі безпосередньо на власному пристрої. Насамперед Ollama доступний для macOS, Linux і Windows, забезпечуючи широкі можливості для розробників різних платформ.

Встановлення Ollama відбувається через просту команду термінала:

curl -fsSL https://ollama.com/install.sh | sh

Після встановлення запуск моделі здійснюється через команду ollama run model-name. Зокрема, на вебінарі було продемонстровано роботу з такими моделями як DeepSeek-R1, Qwen2.5 Coder та іншими, доступними в бібліотеці Ollama.

Вимоги до апаратного забезпечення

Віктор зауважив, що для ефективної роботи з локальними моделями важливо враховувати апаратні ресурси. Однак він спростував міф про необхідність надпотужного обладнання.

Відповідно до рекомендацій, для базової роботи з моделями потрібно:

  • мінімум 8 ГБ оперативної пам'яті для моделей розміром 3B;
  • 16 ГБ для моделей 7B;
  • 32 ГБ для моделей 13B.

Крім того, наявність графічного процесора NVIDIA суттєво покращує продуктивність.

На вебінарі Віктор продемонстрував, як навіть на ноутбуці з 16 ГБ оперативної пам'яті модель Qwen2.5 Coder працювала «достатньо швидко», ефективно відповідаючи на запити щодо програмування.

Інтеграція з IDE через плагіни

Важливою частиною вебінару стала демонстрація інтеграції локальних моделей з середовищами розробки.

Continue – плагін для IDE, що підключається до локальних моделей через простий конфіг: https://docs.continue.dev/customize/model-roles/chat#llama-31-8b

{

  "models": [

    {

      "title": "Ollama",

      "provider": "ollama",

      "model": "llama2-7b"

    }

  ]

}

Таким чином, розробники отримують доступ до генеративного ШІ безпосередньо у своєму робочому середовищі без необхідності передавати код зовнішнім сервісам.

Тренування власної LoRA моделі для специфічних задач

Навчання власної моделі штучного інтелекту звучить складно, але завдяки методу LoRA (Low-Rank Adaptation) цей процес став доступним навіть на звичайному комп'ютері.

Підготовка навчального датасету

Якість навчальних даних напряму впливає на результат моделі. Для ефективного тренування LoRA достатньо відносно невеликого набору даних — від 10 до 100 зразків якісного контенту. Віктор зазначив, що хороші результати можливі навіть з 15 якісними прикладами за умови їх збалансованості.

Насамперед важливо упевнитися в якості тренувальних зразків, додати обґрунтування до відповіді (reasoning) та кроки ходу думок моделі (chain of thoughts). Також, важливо звести дані до одного формату, для чат-моделей такий формат буде виглядати як питання користувача — відповідь ШІ-агента: {messages: [{role: user, content: question}, {role: assistant, content: answer} ].

Процес fine-tuning з обмеженими ресурсами

LoRA — це метод тонкого налаштування, який вводить невелику кількість тренованих параметрів до попередньо навченої моделі. Замість оновлення всіх, LoRA додає матриці низького рангу, що значно зменшує обчислювальні вимоги.

Принцип роботи LoRA полягає в тому, що для вагової матриці W₀∈Rd×k додаються матриці низького рангу BA, де A∈Rr×k та B∈Rd×r, а r – це ранг. Оновлена матриця представлена як W=W₀+B⋅A.

Основні параметри налаштування:

  • lora_dropout: запобігання перенавчанню (типово 0.1);
  • r: ранг матриці (від 4 до 64);
  • lora_alpha: коефіцієнт масштабування оновлення (зазвичай дорівнює рангу матриці, або менший за ранг, але не більше);
  • bias: коефіцієнт упередження в даних ('none' для більшості випадків).

Навчання здійснюється за допомогою бібліотеки PEFT, яка забезпечує ефективне тренування на обмежених ресурсах.

Генерація API-тестів на основі Swagger-специфікацій

Swagger (OpenAPI) – це потужний інструмент для документування та тестування API, який автоматично створює документацію з опису структури API у форматі YAML або JSON. Насамперед він дозволяє розробникам і тестувальникам швидко зрозуміти доступні ендпоінти, параметри запитів та формат відповідей.

На вебінарі Віктор продемонстрував, як натренована LoRA модель може аналізувати Swagger-специфікації та автоматично генерувати тестові сценарії.

Цей підхід має низку переваг:

  • значне скорочення часу на створення тестів порівняно з ручним написанням;
  • збільшення покриття тестами завдяки виявленню граничних випадків;
  • можливість автоматичної адаптації тестів при зміні API;
  • навчання ШІ-моделі під специфічний стиль автотестів вашого тесту фреймворку на проєкті.

Порівняння ефективності тренованої та нетренованої моделі

Друга частина демонстрації була присвячена порівнянню результатів генерації тестів за допомогою стандартної та спеціально навченої моделі. Результати виявились винятковими – тренована модель показала суттєво кращі результати у кількох ключових аспектах.

Нетренована модель часто створювала загальні шаблонні тести, які не враховували специфіку конкретного API та його бізнес-логіку. Натомість модель після fine-tuning генерувала тести, що враховували особливості предметної області, включали перевірку важливих бізнес-сценаріїв та охоплювали більше граничних випадків.

Також варто відзначити, що після тренування модель потребувала менше ітерацій для отримання якісного результату. За словами Віктора, це дозволяє суттєво заощадити час інженерів з автоматизації, які зазвичай витрачають значні ресурси на розробку та підтримку тестів.

Висновок

Підсумовуючи, ми бачимо, що створення власної моделі штучного інтелекту стало доступним для кожного розробника завдяки сучасним інструментам та методам.

Локальне розгортання AI-моделей через Ollama забезпечує необхідний рівень безпеки даних, що критично важливо для багатьох компаній. Водночас метод LoRA відкриває можливості для ефективного навчання моделей навіть на звичайному комп'ютері, значно знижуючи поріг входу для експериментів із власними моделями ШІ.

Загалом, представлений Віктором Григорчуком підхід розкриває три ключові переваги:

  • економічну доступність (всього $20 на десятигодинну оренду відеокарти (Nvidia RTX 4090) для тренування  власної моделі);
  • повний контроль над даними та процесами;
  • можливість точного налаштування під специфічні завдання автоматизації.

Отже, якщо ви розробник, тестувальник або спеціаліст з автоматизації, який прагне впровадити генеративний ШІ у свої проєкти безпечно та економно, рекомендуємо переглянути повний запис вебінару. Там ви знайдете покрокові інструкції та практичні демонстрації всіх розглянутих концепцій від досвідченого інженера.

Підписатися на новини

Чудово! Ми вже готуємо добірку актуальних новин для вас :)

Вибачте, щось пішло не так. Будь ласка, спробуйте ще раз.

* Обов'язкові поля

*Будь ласка, заповніть обов’язкові поля