Перейти до основного вмісту

Процес розробки

Ця сторінка містить загальну схему того, як ви фактично використовуєте SiMa.ai Neat у повсякденному житті. Кожен крок веде до більш детальної сторінки, коли ви будете готові.

Цикл

Типовий цикл розробки Neat виглядає так:

  1. Встановлення — отримайте пакет sima-neat і, за бажанням, бібліотеку pyneat для Python на вашому хості або пристрої.
  2. Спробуйте Hello Neat — переконайтеся, що бібліотека правильно підключена, скомпілювавши мінімальний приклад.
  3. Оберіть скомпільовану модель — Neat використовує скомпільований архів моделі (.tar.gz, який часто називають MPK). Використовуйте один із Model Zoo або скомпілюйте власний за допомогою Model Compiler.
  4. Створіть Model / Graph / Run — завантажте модель, створіть граф і виконайте його, використовуючи найкоротший шлях у середовищі виконання, який відповідає вимогам завдання.
  5. Запустіть і перевірте — надайте вхідні дані, отримайте вихідні дані та використовуйте GraphReport / MeasureReport для перевірки поведінки.
  6. Вдосконалюйте навички за допомогою навчальних матеріалів — переходьте від простого виконання окремих обчислень до створення конвеєрів, моделей із кількома вхідними даними, графів із кількома потоками та систем обробки помилок, придатних для використання у виробничому середовищі.
  7. Розгорніть — встановіть зв’язок між вашою програмою та встановленою бібліотекою Neat на цільовому пристрої.

Оберіть модель, граф або запустіть.

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

Якщо вам потрібно...Почніть зЧому?Наступна зупинка.
Запустіть один скомпільований зразок моделі один раз.Model.run(...)Найкоротший шлях від артефакту до тензорів на виході.Запуск першої моделі
Запустіть модель на підключеній платі Modalix PCIe.pcie::Model / pyneatpcie.ModelОбробка даних на стороні хоста без створення спеціалізованої програми для картки.Спільна обробка PCIe
Перегляньте зразок контракту або маршрут.ModelХарактеристики, метадані та інформація про маршрут показують, які дані модель приймає та генерує.Модель
Додайте модель до схеми застосунку.GraphНадає імена вхідним і вихідним даним, об’єднує вузли та забезпечує чітке визначення топології.Граф
Використовуйте один і той самий граф протягом певного періоду часу.graph.build(...)RunНадає можливість керувати режимами «штовхання/тягнення», «заповнення/опорожнення», здійснювати вимірювання та визначати політику черги.Запуск графа
Активуйте кілька потоків або прагніть до максимальної пропускної здатності.RunOptions + вимірюванняДля оптимізації пропускної здатності необхідно налаштувати політику черги, лічильники відхилених пакетів та зібрати дані для кожного потоку.Налаштування пропускної здатності та глибини черги

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

Основні поняття в стислому викладі.

Сторінки, присвячені процесу розробки, детально розглядають кожен із цих етапів. Узагальнена інформація:

  • Модель — завантажте скомпільований пакет моделі та зробіть його доступним як виконуваний модуль.
  • Копроцесор PCIe — запустіть скомпільовану модель на підключеній PCIe-карті Modalix з хост-застосунку.
  • Модель генеративного штучного інтелекту. — запускайте генеративні моделі безпосередньо або надавайте до них доступ через HTTP.
  • Тензор і зразок. — корисне навантаження та метадані, що передаються між етапами.
  • Запуск / здійснення обчислень — виконайте синхронно (run) або асинхронно (push / pull).
  • Граф — об’єднуйте етапи моделі, вузли, вхідні та вихідні дані в графічну схему застосунку.
  • Запустіть граф. — створіть граф у межах активного Run, а потім виконайте операції над ним: додавайте, видаляйте, аналізуйте, вимірюйте та налаштовуйте пропускну здатність.
  • Вузол — це базова складова графа.

Якщо ви хочете спочатку ознайомитися лише з однією сторінкою, почніть з розділу Запуск / Огляд процесу обчислень, оскільки він об’єднує Model, Graph і Run в єдину систему.

Куди піти далі?

Покрокова інструкція для нових користувачів:

  • Neat SDK — встановіть Neat SDK, під’єднайте DevKit і запустіть на апаратному забезпеченні з dk.
  • Створити — збірка Neat з вихідного коду за допомогою build.sh (процес розробки для учасників).
  • Привіт, Neat! — мінімальний застосунок CMake, який використовує встановлену бібліотеку.
  • Навчальні матеріали — це серія навчальних матеріалів, що охоплює етапи від створення «першої моделі» до розробки «виробничого конвеєра».

Довідкові матеріали, які знадобляться, коли вам потрібна більш глибока інформація:

Що ви пишете і що пропонує Neat.

Neat відповідає за середовище виконання: завантаження моделі, перевірку, побудову конвеєра, планування, завершення роботи та діагностику. Ви відповідаєте за код програми, який об’єднує вхідні дані з вихідними та реагує на результати. Межа визначається публічним API у include/, який вважається стабільним — ви можете оновити Neat без переписування вашої програми.

Якщо ви запам’ятали лише три рядки коду з Neat, запам’ятайте ці:

simaai::neat::Model model(mpk_path);
simaai::neat::TensorList outputs = model.run(input_tensors, /*timeout_ms=*/2000);
simaai::neat::Mapping view = outputs[0].map_read(); // inspect the output bytes

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