Англійська для моделей BentoML, що обслуговують розробників

Освоєння англійської лексики для BentoML: пояснення класів служб, запусків, bentofile. yaml, контейнеризації, артефактів Bento, інтеграції з OpenLLM і хмарного розгортання.

BentoML забезпечує об’єднану структуру для пакування, обслуговування і розгортання моделей машинного навчання в масштабі виробництва. Оскільки MLOps практики дозрівають, інженери і вчені з даних потребують точної англійської лексики, щоб обговорити архітектуру BentoML в переглядах дизайну, документах передачі і технічних обговореннях між командами з колегами з платформи і інфраструктури.

Ключовий словник

Service class — клас Python, прикрашений @bentoml.service, який визначає логіку обслуговування моделі, включаючи типи вводу/виводу, вимоги до ресурсів і налаштування масштабування. “Встановити логіку виведення у класі Служба і анотувати кожну кінцеву точку за допомогою @bentoml.api, щоб BentoML могла створювати специфікацію OpenAPI і автоматично обробляти серіалізацію.”

** Runner ** — абстракція BentoML (використовується у версіях до 2. 0), яка інкапсулює модель і її середовище виконання, що дозволяє служби викликати висновки в ізольованому, масштабовному процесі. “У застарілих розгортаннях, запуск обробляє завантаження моделі і пакетування незалежно від шару HTTP; у BentoML 2. x це замінено об’ єднаним класом Служба.”

** bentofile.yaml ** — файл манифесту проекту, який декларує точку входу до служби, залежності Python, базовий штамп Docker і будь- які додаткові файли, які слід включити до збудованого артефакту Bento. “Оновити bentofile.yaml, щоб прикріпити версію трансформаторів до 4.38 і додати каталог моделей до списку включень перед запуском збирання bentoml.”

** containerize ** — команда CLI BentoML, яка збирає штамп Docker з артефакту Bento, вбудовуючи модель, залежності і код обслуговування у портативний контейнер, який можна розгорнути. “Запустити bentoml containerize summariser:latest —platform linux/amd64 для створення штампу Docker, сумісного з нашим кластером Kubernetes.”

** Bento ** — незмінний, версійний артефакт, створений за допомогою bentoml build, який містить серіалізовану модель, код служби, залежності і налаштування у єдиному розповсюджуваному блоку. “Позначте і відштовхніть Bento до віддаленого реєстру, щоб конвеєр розгортання міг отримати точну версію, перевірену у стадії розгортання, а не перезбирати з початкового коду.”

Інтеграція OpenLLM — рідна підтримка BentoML для обслуговування великих мовних моделей через OpenLLM, що забезпечує сумісну з OpenAI кінцеву точку API з налаштовуваними параметрами генерації. *“Впровадити Mistral 7B з використанням інтеграції OpenLLM, щоб команда фронтенду могла використовувати ту ж клієнтську бібліотеку, яку вони використовують з API OpenAI, без необхідних змін коду.” *

** Адаптивна партія ** — функція BentoML, яка автоматично групує одночасні запити на виведення в одну партію для поліпшення використання GPU без необхідності явного надсилання клієнтом партій.

  • “Ввімкнути адаптивне пакетне оброблення з максимальним розміром пакета 32 і таймом очікування 10 мілісекунд, щоб ми перевантажували графічний процесор під час пікового навантаження без додавання помітної затримки для окремих запитів.” *

** Анотація ресурсу ** — метадані налаштування служби BentoML, які вказують вимоги до процесора, пам’ яті і графічного процесора для середовища обслуговування, які використовуються платформами оркестрування для правильного розкладання. “Додати анотацію ресурсу, що вимагає один NVIDIA A10G GPU, щоб BentoCloud і Kubernetes знали, як розпланувати цю службу на прискореному вузлі.”

Звичайні фрази

  • «Збудувати Bento, перевірити артефакт локально з bentoml serve, а потім контейнеризувати для конвеєра розгортання.»
  • Pin all dependencies in bentofile.yaml — Bento must be reproducible months after original build.  Проігноровано невідомий параметр |month= (довідка) (англ.)
  • «Клас Service замінює шаблон runner в BentoML 2.x; не змішуйте два API»
  • «OpenLLM обгортає цикл завантаження та створення моделі; ви надаєте ідентифікатор моделі та конфігурацію обслуговування.»
  • «Використовуйте список моделей bentoml для перевірки того, що знаходиться в локальному магазині перед побудовою артефакту»

Приклади речення

Під час презентації архітектури обслуговування команді розробників платформи:

  • “Команда ML пакує кожну модель як артефакт Bento з версіями, який команда платформи може завантажити і розгорнути у пул вузлів GPU за допомогою контейнеризованого штампу. Bentofile.yaml декларує всі вимоги до ресурсів, тому планувальник має необхідну інформацію без додаткової конфігурації.”*

Під час написання документа передачі для нової моделі:

  • “Щоб розгорнути модель класифікації тексту, запустіть bentoml build у кореневому сховищі, щоб створити Bento, а потім bentoml containerize, щоб створити штамп Docker. Bentofile.yaml вказує 4 ядра процесора і 8 ГБ оперативної пам’яті; не потрібно графічного процесора для виведення на цій моделі.”*

При обговоренні варіантів обслуговування LLM у технічному огляді:

  • “Ми оцінювали інтеграцію vLLM і BentoML з OpenLLM. Ми обрали BentoML, тому що OpenAI-сумісна кінцева точка дозволяє команді продукту перемикатися моделі без зміни клієнта коду, а модель артефакту Bento дає нам відстежуваний, відтворюваний розгортання, вирівняний з нашими вимогами зрілості MLOps. “*

Професійні поради

  • Використовуйте “розгортання на основі артефактів” як фразу, коли обґрунтовуєте BentoML для DevOps команд - він відображає знайомі концепції, такі як Docker образи і Helm діаграми, а не розглядає моделі як особливий випадок.
  • При обговоренні ** адаптивного пакетування **, поясніть як max_batch_size, так і timeout параметри - жоден з них не достатній для опису компромісу між затримкою і пропускною здатністю.
  • Розрізняйте BentoML 1.x run-based архітектуру від BentoML 2.x Service class моделі при читанні документації або підключенні колег — API несумісні.
  • Посилання на ** OpenAI-сумісну кінцеву точку ** як шлях міграції при підтримці обслуговування LLM з відкритим кодом - це значно знижує вартість переходу для команд продукту.

Практичні вправи

  1. Вчений з обробки даних локально тренував модель і бажає зробити її доступною для команди сервера як HTTP API. Опишете кроки BentoML, які використовуються у трьох реченнях.
  2. Поясніть адаптивне пакетне оброблення менеджеру продукту, який запитує, чому сервер виведення іноді відповідає швидше під час високого навантаження, ніж під час низького навантаження.
  3. Колега запитав, в чому різниця між штампом Bento і штампом Docker. Напишіть два речення, що пояснюють зв’ язок між ними.

Національні мови: мова не має офіційного статусу

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

Однією з поширених перешкод для не-рідних мовців не обов’язково розуміння * концепції * «контейнеризації» - це часто конкретна фраза, використана в перегляді коду або документації. Наприклад, отримання коментаря на зразок « Цему контейнеру потрібна більш надійна обробка помилок » може бути приголомшливим, якщо ви раніше не стикалися з таким типом зворотнього зв’ язку. Це не просто виправлення помилки; це продемонструвати, що ви розумієте * вимоги * для стабільності і надійності в середовищі BentoML. Аналогічно, при написанні опису запитів на завантаження, фрази типу «The bentofile.yaml needs to be optimized for minimal resource consumption» можуть звучати абстрактно. Розбиття цього запиту на менші, дійсні кроки — « Зменшити розмір зображення », « Оптимізувати налаштування запуску » — значно покращує розуміння.

Інша часто зустрічається проблема полягає в термінології навколо компонентів BentoML. Такі терміни, як « бігуни », « класи послуг » і « артефакти Bento » не завжди відразу інтуїтивно зрозумілі, і навіть якщо ви зрозумієте їх окремі функції, правильно використовувати їх у реченні може бути складно. Жіноче словосполучення не тільки використовується в описі цієї категорії, але також в інших категоріях, таких як лексика, лексикографія, лексикографія, лексикографія, лексикографія, лексикографія, лексикографія, лексикографія, лексикографія. Пам’ятайте, що прохання про пояснення * завжди * прийнятно; краще запитати “Чи можете ви розібратися, що є “високопродуктивним бігуном” в цьому контексті?”, Аніж мовчки боротися з неоднозначним терміном.

Нарешті, ключовим є визнання різниці між технічними специфікаціями і бізнес-вимогами. Запит на кшталт «Модель потрібно розгорнути в AWS» стосується не тільки технічного акту розгортання; він передбачає розгляд оптимізації витрат, безпеки і відповідності - аспектів, які часто вимагають більш детального пояснення.

bentoml artifacts list --output json

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

Поширені запитання

Про що ця стаття "Англійська для моделей BentoML, що обслуговують розробників"?

Освоєння англійської лексики для BentoML: пояснення класів служб, запусків, bentofile. yaml, контейнеризації, артефактів Bento, інтеграції з OpenLLM і хмарного розгортання.

Чи безкоштовна ця стаття?

Так. Усі статті на CoderSlingo, включно з цією, доступні безкоштовно без реєстрації.

Скільки часу займає читання "Англійська для моделей BentoML, що обслуговують розробників"?

Приблизно 9 min.