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

Євген Моспан, CTO в EPAM: сучасний інструментарій фахівця у сфері штучного інтелекту: перспективи та можливості

Євген Моспан

Chief technology officer
Думка експерта
  • Solution Architecture
  • Artificial Intelligence

Запис доповіді наприкінці статті

Нещодавно Євген Моспан, СТО в EPAM виступив на DOU офлайн-мітапі «Спілкуємось з AI правильно» із темою «Сучасний інструментарій фахівця у сфері штучного інтелекту: перспективи та можливості». 

 

Євген працює в таких напрямах: технології, консалтинг, архітектура та R&D (research and development). Тому відносить штучний інтелект до сфери своїх інтересів.

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

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

Далі Євген розповідає як реалізувати кожну із цих опцій, використовуючи RAG (Retrieval-Augmented Generation) та LLM-агентів.

Retrieval-Augmented Generation (RAG) — це підхід у галузі обробки природної мови (NLP), що поєднує в собі дві ключові техніки: пошук і генерацію тексту. У RAG використовується два основних компоненти:

  • Модель пошуку (Retrieval Model) — ця частина системи відповідає за вибірку релевантних документів, фрагментів тексту або контексту, що відповідає питанню або завданню. Це може бути зроблено за допомогою методів пошуку інформації, які аналізують великі корпуси текстів, такі як вебсторінки, статті, документи тощо.
  • Модель генерації (Generation Model) — ця частина системи відповідає за створення тексту, відповіді або інформації на основі вибраного контексту або даних. Це може бути здійснено за допомогою генеративних моделей, таких як генеративні перетворювальні мережі (GANs) або авторегресивні моделі, такі як моделі мови на основі Transformer.

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

LLM-агент (Large Language Model) в даному контексті — це масштабована мовна модель, яка вміє не лише генерувати тексти, а й взаємодіяти з іншими джерелами інформації, такими як бази даних, вебсторінки або навіть інші тексти. Він здатен виконувати запити на пошук інформації, а потім використовувати знайдену інформацію для генерації нового тексту, що містить більш докладні або точні відповіді на запити.

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

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

Євген наводить практичний приклад використання fine-tuning: взяли Open Source Mistral та тренували його використовувати українську мову. Як це було реалізовано: взяли набір даних (data set) англійською мовою, переклали за допомогою Google Translate та додали за допомогою fine-tuning. В результаті все стало працювати набагато стабільніше — англійські слова перестали проскакувати.

Спікер наводить такі приклади популярних мовних моделей: 

  • GPT
  • Gemini
  • PaLM 2
  • Llama 2
  • Vikuna
  • Claude 2
  • Stable Beluga
  • StableLM
  • Coral
  • Falcon
  • MPT
  • Mixtral 8x7B
  • XGen-7B

Серед популярних фреймворків Євген виділяє наступні: 

  • Python
  • LangChain
  • GitHub Copilot
  • Sourcegrafh
  • AutoGPT
  • Azure OpenAI Service

Команда Євгена в більшості використовує LangChain та приглядається до AutoGPT. Якщо це рішення для бізнесу, яке вимагає вищих показників безпеки, то Євген радить використовувати Azure OpenAI Service. 

Наприкінці виступу спікер розмірковує, чим міг би штучний інтелект допомогти у життєвому циклі розробки програмного забезпечення (Software Development Life Cycle або SDLC). В теорії можна зробити віртуального помічника кожному учаснику команди проєкту. Наприклад, такий помічник може допомагати бізнес-аналітику писати user stories, інженеру — писати код, а тестувальнику — писати тести. Але ж, виникає ряд питань, які стосуються якості цих user stories та написаного коду. А також, як бути з тім лідом та власником продукту? І чи буде можливо спростити їхню роботу за допомогою віртуального помічника? Поки що команда Євгена не досягла в цьому успіху, але він не виключає можливості того, що у найближчому майбутньому це стане можливим.

Спікер також ділиться своїми вимогами до сучасного інженера. В першу чергу він очікує від спеціаліста широти знань та вміння розв’язувати задачі самостійно, без додаткових питань. Також Євген він наголошує на тому, що інженеру важливо бути обізнаним в сучасних трендах штучного інтелекту та бути «скептичним практиком». І, власне, вміти делегувати постійні одноманітні задачі віртуальним помічникам. Останнім пунктом Євген називає якості humble, hungry та smart. Тобто бути розумним, мати жагу до звершень та бути достатньо скромним.

Також Євген поділився списком корисних посилань для поглиблення знань у сфері ШІ: 

Повний запис виступу можна подивитись за посиланням

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

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

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

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

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

Вакансії EPAM Ukraine у Київ | Львів | Харків | Дніпро | Вінниця | Івано-Франківськ | Одеса | Чернівці | Хмельницький | Рівне | Ужгород | Тернопіль | Луцьк за напрямком Java | JavaScript | .NET | DevOps | Experience Design | Software Testing | Business Analysis | Python| Big Data | Mobile | Solution Architect | Ruby on Rails у містах за напрямком Java вакансії Київ | Java вакансії Харків | Java вакансії Львів | Java вакансії Вінниця | Java вакансії Одеса | Java вакансії Івано-Франківськ | Java вакансії Чернівці | Java вакансії Хмельницький | Java вакансії Рівне | Java вакансії Ужгород | Java вакансії Тернопіль | Java вакансії Луцьк | JavaScript вакансії Київ | JavaScript вакансії Харків | JavaScript вакансії Львів | JavaScript вакансії Вінниця | JavaScript вакансії Одеса | JavaScript вакансії Івано-Франківськ | JavaScript вакансії Чернівці | JavaScript вакансії Хмельницький | JavaScript вакансії Рівне | JavaScript вакансії Ужгород | JavaScript вакансії Тернопіль | JavaScript вакансії Луцьк | DevOps вакансії Київ | DevOps вакансії Харків | DevOps вакансії Львів | DevOps вакансії Вінниця | DevOps вакансії Одеса | DevOps вакансії Івано-Франківськ | DevOps вакансії Чернівці | DevOps вакансії Хмельницький | DevOps вакансії Рівне | DevOps вакансії Ужгород | DevOps вакансії Тернопіль | DevOps вакансії Луцьк