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

Вступ

Ласкаво просимо на передній край науки

Упродовж всієї історії наше наукове розуміння світу стрімко розвивалось, коли з'являлися нові інструменти — ті, що дозволяли задавати нові запитання, проводити масштабніші експерименти та досліджувати нові галузі. Серед таких інструментів — телескоп, мікроскоп і Великий адронний колайдер. Кожен із них відкривав доступ до нових наукових відкриттів. У 1960-х роках також з'явились високопродуктивні обчислення (HPC), які стали критично важливим інструментом для вирішення складних обчислювальних завдань, у тому числі багатьох важливих наукових проблем.

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

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

У цьому відео описано цілі курсу та мотивацію поєднання HPC і квантових обчислень.

HPC

Що таке високопродуктивні обчислення? HPC стали основою для вирішення сучасних обчислювальних проблем. Ми більше не живемо в часи, коли складні задачі можна вирішити простими інструментами на кшталт рахівниці або олівця й паперу; натомість ми маємо справу з питаннями та наборами даних, що потребують колосальної обчислювальної потужності.

Галузь HPC бере свої витоки з розробки перших суперкомп'ютерів у 1960-х роках. Це були машини, спеціально призначені для вирішення великомасштабних наукових та інженерних задач швидше, ніж звичайні комп'ютери.

Одним із перших відомих суперкомп'ютерів був CDC 6600 (1964), побудований Сеймуром Креєм, якого часто називають батьком суперкомп'ютингу. CDC 6600 був найшвидшим комп'ютером свого часу, використовуючи інноваційну архітектуру з паралельними функціональними блоками та конвеєрною обробкою — концепціями, що й досі застосовуються в HPC.

Крей продовжував розвиток галузі з Cray-1 (1976), який запровадив векторну обробку — метод, що значно збільшив швидкість операцій над великими масивами даних і був добре придатний для наукових обчислень.

Коли швидкість одного процесора почала вирівнюватися, HPC еволюціонували до паралельних обчислень — використання багатьох процесорів, що спільно працюють над різними частинами задачі. Протягом 1980-х і 1990-х років паралельні архітектури стали стандартом у HPC. На початку 2000-х HPC перейшли до кластерів звичайного обладнання — звичайних серверів, з'єднаних швидкісними мережами. Цей перехід зробив суперкомп'ютинг доступнішим і відкрив ширший доступ до HPC.

Упродовж цієї еволюції IBM® була на передньому краї досліджень і впровадження HPC. Зокрема, суперкомп'ютери IBM Blue Gene були однією з найвпливовіших родин суперкомп'ютерів 2000-х і початку 2010-х. Це була епоха колосального зростання масово-паралельних систем, прикладом якої є Blue Gene/Q — один з екземплярів (Sequoia) мав 100 000 вузлів. Побудований IBM Oak Ridge Summit першим серед HPC-ресурсів досяг ExaOPS (1,88 змішаної точності) у 2018 році.

Сьогодні ми перебуваємо в ексафлопсній ері, де суперкомп'ютери здатні виконувати 101810^{18} операцій на секунду (ексафлопс). Першим суперкомп'ютером, що досяг цього рубежу, став Frontier, розміщений в Оукриджській національній лабораторії.

Чому нам потрібні такі потужні обчислювальні ресурси? Існують задачі, критичні для добробуту людства, що вимагають таких крайніх ресурсів для моделювання або вирішення. Серед прикладів — кліматичні моделі, вивчення структури та руху земної мантії, симуляції гідродинаміки.

Чимало задач такого типу вирішувалися дослідниками IBM та їхніми партнерами на IBM-системах. Це стале лідерство широко визнано. Наприклад, дослідники IBM виграли премію Гордона Белла шість разів.[1]

HPC — дуже активна галузь, де межі постійно розсуваються. Для одного огляду сучасних можливостей дивись цей список 500 найпотужніших суперкомп'ютерів.

Квантові обчислення

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

Гібридний підхід

Найважливіше підкреслити: ці дві обчислювальні парадигми не є конкурентами. Ми живемо в епоху, коли оптимізовані робочі процеси вимагають взаємодоповнення двох парадигм і розміщення завдання там, де воно виконується найефективніше. Квантові комп'ютери не замінять класичні системи; навпаки, майбутнє обчислювальної науки дедалі більше залежатиме від гібридних робочих процесів, де HPC забезпечують високопродуктивну класичну обробку, а квантові обчислення вносять унікальні можливості. Як фахівець, дослідник або технолог, розуміння способів поєднання цих інструментів поставить тебе на провідні позиції в наступну еру наукового та технологічного прогресу.

Ми розглянемо, як квантові та HPC-обчислення сприяють проривам у широкому спектрі галузей, зокрема:

  • Хімія: прискорення ідентифікації нових ліків і матеріалів.

  • Енергетика: розробка покращених каталізаторів, акумуляторів і рішень у галузі чистої енергії.

  • Фінанси: моделювання ризиків, оптимізація портфелів і розробка нових фінансових інструментів.

  • ШІ та машинне навчання: вдосконалення навчання моделей, оптимізації та аналізу даних.

Чому ми виходимо за межі класичного

Людство досягло значного успіху в зазначених прикладних галузях за допомогою HPC. Проте навіть найшвидші суперкомп'ютери у світі стикаються з труднощами, коли задачі масштабуються факторіально або експоненційно залежно від розміру проблеми. Наприклад, перерахунок усіх можливих розташувань 50 частинок усередині складної молекули дає конфігурацій, що зростають щонайменше факторіально, — і для їх зберігання знадобиться більше пам'яті, ніж сукупно можуть надати всі центри обробки даних на Землі.

Інший приклад — планування маршруту доставки для 10 000 міст: кількість можливих маршрутів стає настільки великою, що навіть якби кожен будь-коли побудований комп'ютер перевіряв по одному маршруту на мікросекунду, розрахунок тривав би на порядки довше, ніж поточний вік нашого Сонця. Ці числа не просто великі — вони зростають експоненційно, тобто кожна додаткова частинка або місто множить обчислювальне навантаження в рази, далеко за межі лінійного масштабування.

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

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

Чому не лише квантові?

Якщо квантові обчислення можуть обходити певні обмеження класичних, то чому б не покладатися виключно на квантові комп'ютери? Перша й найочевидніша причина полягає в тому, що квантові комп'ютери досі потребують класичних машин для своєї роботи. Завдання компіляції та передачі схем до квантового процесора, зберігання результатів вимірювань і базова постобробка — все це виконується класичними обчислювальними системами.

Чому ж тоді ще необхідні високопродуктивні обчислення? Є кілька причин. Багато поточних і майбутніх застосувань квантових обчислень стосуються задач із надзвичайно великим простором пошуку. Квантові алгоритми часто можуть суттєво скоротити цей простір, але на практиці задача, що залишається, може бути все ще досить великою і виграти від ресурсів HPC. Крім того, існують алгоритми, що збалансовано використовують сильні сторони HPC і квантових обчислень, перекладаючи достатньо роботи на HPC, щоб зробити загальний алгоритм більш стійким до впливу квантового шуму.

Конкретним прикладом є алгоритм вибіркової квантової діагоналізації (SQD). Цей алгоритм, який розглядається в Уроці 4, демонструє, як HPC і квантові обчислення можуть доповнювати одне одного на практиці. Для отримання додаткового контексту дивись курс «Алгоритми квантової діагоналізації» на IBM Quantum Learning.

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

Оскільки учасники можуть мати різний досвід, ми очікуємо два основні типи слухачів: ті, хто вже має досвід у HPC, але є новачками в квантових обчисленнях, і ті, хто добре знається на квантових обчисленнях, але новачки в HPC. Щоб допомогти кожному отримати максимум від курсу, нижче наведено рекомендації з підготовки для обох груп.

Для тих, хто новачок у HPC

Цей курс передбачає знайомство з базовими концепціями HPC, такими як програмування з розподіленою пам'яттю, передача повідомлень, моделі паралельного програмування та управління ресурсами. Ми також використовуватимемо такі інструменти, як менеджер завдань Slurm. Хоча багато цих концепцій будуть стисло представлені за потреби, попереднє знайомство з ними зробить матеріал доступнішим. Корисні ресурси:

Додаткові ресурси також доступні в цьому GitHub-репозиторії.

Для тих, хто новачок у квантових обчисленнях

Цей курс використовуватиме базові інструменти та концепції квантових обчислень з мінімальним вступним оглядом. Рекомендуємо, щоб учасники мали принаймні робочі знання Qiskit, знайомство з квантовими вентилями та схемами, а також деякий досвід роботи з алгоритмами на основі вибірки. Наведені нижче ресурси допоможуть у підготовці.

  • Посібник IBM Quantum® Composer: Огляд Composer — графічного інструменту квантового програмування, що дозволяє будувати квантові схеми перетягуванням операцій і запускати їх на квантовому залізі.
  • Вступ до Qiskit: Набір посібників для встановлення та налаштування Qiskit.
  • Hello world: Короткий підручник з Qiskit, в якому ти налаштовуєш і запускаєш свою першу квантову програму.
  • Алгоритми квантової діагоналізації: Курс, що охоплює кілька типів квантових алгоритмів, зокрема SQD, який використовується в цьому курсі.

Додаткові ресурси також доступні в цьому GitHub-репозиторії.

Слухачі з будь-яким досвідом можуть знайти корисним цей посібник; він охоплює плагін SPANK для управління квантовими ресурсами та кілька слів про Slurm.

Є кілька способів, якими унікальність квантових обчислень робить їх процедурно відмінними від класичних обчислювальних ресурсів, що суттєво для цього курсу. Наприклад, немає доброго квантового аналога оперативної пам'яті (RAM). Інформація зберігається та обробляється безпосередньо у станах кубітів. Хоча вимірювання можуть дозволити деяким ознакам кубітів бути записаними класично, такі вимірювання руйнують більшу частину багатства квантового стану, зокрема суперпозицію та заплутаність. Крім того, ресурси квантових обчислень наразі не розміщені на тому самому вузлі, що й інші HPC-ресурси, і користувачі квантових ресурсів часто матимуть не такий самий рівень контролю над плануванням, який вони могли б мати над класичними HPC-ресурсами. Ці реалії будуть повторно наголошені у відповідних уроках. Але головний висновок тут такий: квантові комп'ютери змінять світ і мають бути інтегровані з HPC, проте вони не є «ще одним» HPC-ресурсом, яким можна керувати так само, як CPU, GPU тощо. Квантові комп'ютери змінюють підхід до вирішення багатьох обчислювальних задач.

Про цей курс

Після завершення курсу ти зможеш не просто повторювати технічні терміни — ти зрозумієш, як керувати сучасним гібридним робочим процесом, що делегує конкретні підзадачі квантовому процесору, тоді як CPU та GPU виконують решту роботи. Ти навчишся писати скрипти для завдань, що плавно переходять між класичними вузлами та QPU, інтерпретувати результати з точністю і розпізнавати, де квантове прискорення справді може покращити обчислення (а де ні). Не менш важливо: ти будеш практикувати підхід до навчання з відкритим мисленням — у новій та стрімко розвиваючій галузі ніхто не засвоює все одразу, і реальний прогрес досягається через ітерації, експерименти та запитання. Цей курс поділено на 5 розділів, що охоплюють такі теми:

Структура курсу

  • Урок 1 — Цей урок охоплює контекст і мотивацію
  • Урок 2 — Обчислювальні ресурси та їх управління
  • Урок 3 — Моделі програмування, що включають гетерогенні обчислювальні середовища
  • Урок 4 — Квантові алгоритми для гібридних робочих процесів, зокрема SQD
  • Урок 5 — Погляд у майбутнє та напрямки розвитку

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

Посилання

[1] https://www.hpcwire.com/off-the-wire/gordon-bell-prize-awarded-to-ibm-and-leading-university-researchers/