Визначте результат, який виправдовує вашу оренду
Для обробки файлів визначте обсяг, який потрібно опрацювати, формат виведення та правило відновлення. Завершений файл має розпізнаватися без повторного перечитування всього виконання. Для інтерактивного сервісу визначте максимальний розмір запитів, прийнятний час очікування та поведінку в разі досягнення межі потужності. Одна й та сама модель може вимагати двох дуже різних організацій залежно від цих обмежень.
Зберігайте репрезентативну вибірку з короткими, звичайними та близькими до ваших меж випадками. У конвеєрі ембедингів пов'язуйте кожен вектор з ідентифікатором і версією його вхідних даних. У генерації тексту записуйте параметри генерації, використані для оцінювання. Ви маєте бути здатні пояснити різницю в результаті, не приписуючи її одразу GPU.
Оберіть пам'ять для всього навантаження інференсу
Вага файлів моделі не описує всю пам'ять, яка використовується під час інференсу. Потрібно також враховувати тимчасові тензори, вхідні дані, збережені вихідні дані та, для відповідних моделей, кеш ключів і значень уваги. Цей кеш може ставати значним, коли послідовності подовжуються або коли кілька запитів обробляються разом.
Почніть із карти, обсяг пам'яті якої дозволяє виконати ваш репрезентативний тест із виміряним запасом. Моделі на 24, 32, 48, 80 ГБ і більше відповідають різним потребам; жодна ємність не гарантує, що конкретна модель пройде з усіма своїми налаштуваннями. Зниження точності чи квантизація можуть змінити обсяг пам'яті, але вимагають перевірки підтримки програмним забезпеченням і якості вихідних даних на ваших власних вхідних даних.
Виберіть GPU, сумісний з вашим програмним стеком
Складіть список рушія інференсу, його особливих операторів і розширень, від яких ви залежите, перш ніж обирати апаратне забезпечення. Застосунок PyTorch може пропонувати кілька шляхів виконання, тоді як спеціалізоване розширення підтримує лише один. Перевірте весь ланцюжок на CUDA для NVIDIA або на ROCm для AMD, включно із завантаженням моделі та її попередньою обробкою.
Залиште мінімальну команду, яка проходить конвеєр аж до запису результату. І лише потім вмикайте оптимізації одну за одною. Кожна зміна точності, компіляції чи рушія має зберігати порівнянний контроль якості. Успішне завантаження доводить, що ваги читаються; воно не доводить, що всі потрібні шляхи обчислень працюють.
Налаштуйте batch відповідно до мети обробки
Приклад методу: складіть три групи текстів за довжиною, а потім обробіть кожну з пакетом у 1, 2 та 4 вхідні дані. Ці розміри слугують точками тестування, а не універсальною рекомендацією. Для кожної комбінації записуйте завершені вхідні дані, загальний час, спостережуваний максимум пам'яті та помилки. Зупиняйте прогрес, коли з'являється межа, замість того щоб приховувати невдачі в середньому значенні.
Для інтерактивного сервісу додайте час, проведений у черзі очікування. Більший пакет може змінити пропускну здатність і час очікування, який відчуває запит; одного середнього значення недостатньо для вибору. Для офлайн-обробки переконайтеся, що групування не змішує порядок результатів. Зрештою оберіть конфігурацію, яка відповідає вашому критерію якості та обмеженню часу очікування.
Переходьте на кілька GPU, якщо ваш застосунок уміє розподіляти роботу
Якщо кожен примірник моделі вміщується на одній карті, ви можете організувати кількох працівників, які споживають окремі розділи вхідних даних. Тоді потрібно координувати ідентифікатори, відновлення та збір вихідних даних. Якщо модель потрібно розподілити між картами, використовуйте стратегію паралелізму, підтримувану вашим рушієм, і перевірте її вимоги до зв'язку.
Замовлені партії описують кількість обладнання, а не прикладний батч чи об'єднаний простір пам'яті. Для B200 одна партія містить дві карти; для інших пропозицій одна партія містить одну карту. Зазначте у своїй заявці заплановану кількість воркерів, частку вхідних даних, довірену кожному з них, і спосіб переконатися, що роботу справді завершено.
Оберіть період, що охоплює перевірки та експорт
Для першої оренди на 3 дні окресліть обмежену мету: встановити, перевірити конвеєр і отримати перший придатний до використання результат. Тривалість 7 днів може стати в нагоді, щоб перебрати більше варіантів; 30 днів — щоб повторювати обробку та закріпити її використання. Це способи організувати роботу, а не обіцянки щодо часу виконання.
На виході зберігайте ваги або їхню версію, конфігурацію, перевірки якості, фактично отримані показники та експортовані результати. Ви самостійно обираєте програмне забезпечення та способи обробки; Kernodeck не перевіряє їхній вміст. Самостійно підготуйте доступи, резервні копії та дозволи, необхідні для використання моделей і даних.