Направлена модель виконання (бета)
Усі компоненти направленої моделі виконання наразі перебувають у бета-версії та можуть бути нестабільними. Тебе запрошують протестувати їх і надати відгук, відкривши задачу в репозиторіях GitHub Samplomatic або Qiskit Runtime.
Примітивні інтерфейси Sampler і Estimator надають абстракцію вищого рівня для розробників алгоритмів, щоб зосередитися більше на інноваціях і менше на перетворенні даних. Проте вони менш придатні для вчених у галузі квантової інформації, яким потрібен більший контроль і гнучкість для їхніх експериментів на рівні корисності. Направлена модель виконання, яка наразі перебуває у бета-релізі, задовольняє цю потребу. Ця модель виконання надає інструменти для фіксування проектних намірів на стороні клієнта та переносить затратне генерування варіантів Circuit на сторону сервера, щоб ти міг точно налаштовувати пом'якшення помилок та інші техніки без втрати продуктивності. Ця явна та компонувальна модель спрощує експериментування з новими техніками, відтворення результатів і обмін методами.
У бета-релізі направлена модель виконання зосереджена на тому, щоб надати тобі контроль над техніками, вбудованими в існуючі Sampler і Estimator, включно з twirl-деформацією Паулі, навчанням і впровадженням моделі шуму та змінами базису. Підтримка інших можливостей буде поступово додаватися з часом.
Робочий процес
Одна з головних цілей направленої моделі виконання — надати модульний спосіб застосування методів пом'якшення помилок. Наприклад, ти можеш визначити, які шари в Circuit потрібно пом'якшити, або налаштувати рівні шуму, що впроваджуються в Circuit.
Щоб застосувати пом'якшення помилок до Circuit у межах цього фреймворку, твій робочий процес, як правило, включатиме такі кроки (інструменти, згадані тут, детальніше описано в наступному розділі):
-
Групуй інструкції в блоки та застосовуй до них анотації. Анотації фіксують задумане перетворення без фактичного генерування варіантів Circuit.
-
Вивчи моделі шуму унікальних шарів, якщо потрібно, за допомогою нового NoiseLearnerV3.
-
Побудуй шаблонний Circuit і samplex з блочного Circuit.
-
Запусти шаблонний Circuit і samplex з примітивом Executor, який генеруватиме та виконуватиме варіанти Circuit відповідно до інструкцій.
-
Виконай постобробку результатів виконання. Наприклад, ти можеш застосувати постселекцію або екстраполювати пом'якшені значення очікування з результатів виконання.
Інструменти для направленої моделі виконання
Наступні інструменти можна використовувати разом для реалізації техніки пом'якшення помилок у направленій моделі виконання.
Samplomatic
Samplomatic — це нова бібліотека з відкритим кодом, що підтримує налаштовані рандомізації вибірки. Вона використовує конструкцію box для роботи з колекціями операцій Circuit, які слід розглядати як такі, що мають стабільний контекст шуму, і використовує анотації на блоках, щоб дозволити тобі оголошувати та налаштовувати наміри. Наприклад, ти можеш розбити свій Circuit на блоки, додати до кожного блоку анотацію twirl-деформації та вказати, яку групу twirl-деформації використовувати, як показано на наступному малюнку:

Circuit з анотованими блоками можна використати для генерування шаблонного Circuit і samplex. Вихідний шаблонний Circuit — це параметризований Circuit, який буде виконано без подальших змін (крім присвоєння різних значень параметрів). Samplex, який є основним типом бібліотеки Samplomatic, представляє параметричний розподіл імовірностей за параметрами шаблонного Circuit та іншими полями з масивними значеннями. Ці поля можна використовувати для постобробки даних, зібраних під час виконання прив'язаного шаблонного Circuit. Іншими словами, шаблонний Circuit і samplex разом вказують примітиву Executor, які параметри генерувати та які прив'язані Circuit запускати. Оскільки ці дві конструкції створюються на стороні клієнта, ти можеш виконати локальну перевірку та вибірку, щоб перевірити результати перед відправкою на виконання на залізі.
Щоб спростити процес генерування анотованих блоків, бібліотека Samplomatic також надає транспілятор-паси, що автоматично групують інструкції Circuit в анотовані блоки на основі стратегій, які ти надаєш.
Щоб дізнатися більше про Samplomatic, відвідай документацію guides і API reference. Надсилай відгуки та повідомляй про помилки в його репозиторії GitHub.