주 콘텐츠로 건너뛰기

소개

프론티어에 오신 것을 환영합니다

역사적으로, 새로운 도구가 등장할 때마다 우리의 과학적 이해는 빠르게 성장해 왔습니다. 새로운 질문을 던지고, 더 큰 실험을 수행하며, 새로운 연구 분야를 탐구할 수 있게 해주는 도구들입니다. 망원경, 현미경, 그리고 대형 강입자 충돌기(LHC)가 그 예입니다. 각 도구는 새로운 종류의 과학적 발견에 대한 접근을 가능하게 했습니다. 1960년대에는 고성능 컴퓨팅(HPC)의 발전도 목격했는데, 이는 복잡한 계산 작업을 해결하는 데 있어 중요한 도구가 되었으며, 여기에는 많은 중요한 과학적 과제도 포함됩니다.

이제 우리에게는 과학적 발전을 위한 또 하나의 중요한 도구가 생겼습니다. 바로 양자 컴퓨터입니다. 아직 신흥 기술이지만, 양자 컴퓨터는 우리가 효율적으로 해결할 수 있는 계산 문제의 종류를 크게 바꿀 수 있는 잠재력을 갖고 있습니다. 이 과정은 이러한 기술들이 함께 작동하여 계산적으로 가능한 것의 경계를 어떻게 확장할 수 있는지를 이해하는 데 관한 것입니다.

우리의 목표는 명확하지만 야심차습니다. 세상에서 가장 어려운 문제 중 일부를 해결하는 데 이러한 기술을 활용하는 데 필요한 개념적이고 실질적인 지식을 여러분에게 제공하는 것입니다.

이 영상은 이 과정의 목표와 HPC와 양자 컴퓨팅을 결합하는 것의 동기를 설명합니다.

HPC

고성능 컴퓨팅이란 정확히 무엇일까요? 고성능 컴퓨팅은 현대의 계산 문제를 해결하는 기반이 되었습니다. 우리는 더 이상 주판이나 종이와 펜 같은 단순한 도구로 고급 문제를 해결할 수 있는 시대에 살지 않습니다. 대신, 우리는 엄청난 계산 능력을 필요로 하는 질문과 데이터셋을 다루고 있습니다.

고성능 컴퓨팅 분야는 1960년대 최초의 슈퍼컴퓨터 개발로 그 뿌리를 거슬러 올라갈 수 있습니다. 이러한 기계들은 기존 컴퓨터보다 더 빠르게 대규모 과학 및 공학 문제를 해결하도록 특별히 설계되었습니다.

잘 알려진 최초의 슈퍼컴퓨터 중 하나는 CDC 6600(1964)으로, 종종 슈퍼컴퓨팅의 아버지라고 불리는 Seymour Cray에 의해 제작되었습니다. CDC 6600은 당시 가장 빠른 컴퓨터였으며, 병렬 기능 유닛과 파이프라이닝을 포함한 혁신적인 아키텍처를 사용했습니다. 이러한 개념들은 오늘날 HPC에서도 여전히 사용되고 있습니다.

Cray는 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은 2018년에 ExaOPS(1.88 혼합 정밀도)를 달성한 최초의 HPC 리소스였습니다.

오늘날 우리는 엑사스케일 시대에 있으며, 슈퍼컴퓨터는 초당 101810^{18}회의 연산(엑사플롭스)을 수행할 수 있습니다. 이 이정표를 달성한 최초의 슈퍼컴퓨터는 Oak Ridge 국립연구소에 위치한 Frontier였습니다.

그렇다면 왜 이렇게 강력한 컴퓨팅 자원이 필요할까요? 인류의 행복에 중요한 문제들 중에는 모델링하거나 해결하는 데 이러한 극한의 자원을 필요로 하는 것들이 있습니다. 예시로는 기후 모델, 지구 맨틀의 구조와 움직임 연구, 그리고 유체 역학 시뮬레이션이 있습니다.

이러한 유형의 많은 문제들이 IBM 시스템에서 작업하는 IBM 연구원들과 협력자들에 의해 다루어졌습니다. 이러한 지속적인 리더십은 널리 인정받고 있습니다. 예를 들어, IBM 연구원들은 Gordon Bell Prize를 여섯 번 수상했습니다.[1]

HPC는 매우 활발한 분야로 경계가 정기적으로 돌파되고 있습니다. 현대 역량에 대한 개요는 상위 500대 슈퍼컴퓨터의 이 목록을 참조하세요.

양자 컴퓨팅

양자 컴퓨팅은 단순히 고전 컴퓨터의 점진적인 발전을 따르지 않는 새로운 컴퓨팅 패러다임입니다. 이는 중첩, 얽힘, 양자 간섭이라는 양자 특성을 활용하여 고전 컴퓨터만으로는 풀기 어려운 문제를 해결하는 것을 목표로 합니다. 이 과정에서는 양자 컴퓨팅의 고유성에 대한 세부 사항을 탐구하지 않을 것입니다. 이에 대한 자세한 내용은 양자 정보의 기초를 참조하세요. 대신 우리는 이 두 인프라를 결합하는 것이 응용 과학에서 어떻게 획기적인 발전을 이끌 수 있는지에 대해 논의할 것입니다.

하이브리드 접근 방식

가장 중요하게 강조해야 할 것은 이 두 계산 패러다임이 경쟁자가 아니라는 점입니다. 우리는 최적화된 워크플로우가 두 패러다임이 서로를 보완하고 작업을 가장 효과적으로 처리할 수 있는 곳에 배치하도록 요구하는 시대에 있습니다. 양자 컴퓨터가 고전 시스템을 대체하지는 않을 것입니다. 오히려 계산 과학의 미래는 HPC가 고성능 고전 처리를 제공하고 양자 컴퓨팅이 고유한 기능을 기여하는 하이브리드 워크플로우에 점점 더 의존하게 될 것입니다. 실무자, 연구자, 또는 기술자로서, 이러한 도구들을 결합하는 방법을 이해하면 다음 과학 및 기술 발전 시대의 리더로 자리매김할 수 있습니다.

우리는 양자 컴퓨팅과 HPC가 다음을 포함한 다양한 산업에서 획기적인 발전을 가능하게 할 위치에 어떻게 있는지 살펴볼 것입니다.

  • 화학: 새로운 의약품 및 소재 식별 가속화.

  • 에너지: 개선된 촉매, 배터리, 청정 에너지 솔루션 설계.

  • 금융: 리스크 모델링, 포트폴리오 최적화, 새로운 금융 상품 개발.

  • AI 및 머신러닝: 모델 훈련, 최적화, 데이터 분석 향상.

고전 컴퓨팅을 넘어서는 이유

인간은 HPC를 사용하여 위의 응용 분야에서 상당한 성공을 거두었습니다. 그러나 세계에서 가장 빠른 슈퍼컴퓨터조차도 문제 크기에 따라 계승적으로 또는 지수적으로 확장될 때 어려움에 직면합니다. 예를 들어, 복잡한 분자 내 50개 입자의 가능한 모든 배열을 나열하면 최소 계승적으로 증가하는 구성이 생기며, 이는 지구상의 모든 데이터 센터를 합친 것보다 더 많은 메모리가 필요합니다.

또 다른 예는 10,000개 도시에 대한 배달 경로 계획입니다. 가능한 경로의 수가 너무 커져서, 지금까지 만들어진 모든 컴퓨터가 마이크로초당 하나의 경로를 테스트하더라도 계산은 현재 태양의 나이보다 수십 배 이상 긴 시간이 걸릴 것입니다. 이 총합들은 단순히 크기만 한 것이 아닙니다. 지수적으로 증가하여, 입자나 도시가 하나 추가될 때마다 단순한 규모 확장을 훨씬 넘어서 계산 부담을 배가시킵니다.

GPU를 계속 추가할 수 있지만, 이미 이러한 방대한 양의 데이터를 처리하는 데 메가와트의 전력이 소비되고 창고 크기의 시설이 필요합니다. 어느 시점에서는 고전 하드웨어가 실용적이거나 경제적인 방식으로 더 이상 확장될 수 없습니다. 그래서 연구자들은 정보를 중첩 상태로 저장하고 때로는 이러한 지수적 성장 문제를 직접 해결할 수 있는 양자 프로세서에 주목하고 있습니다. 고전 기계가 합리적인 시간 내에 완료할 수 없는 특정 케이스를 해결하는 것입니다.

HPC는 결국 조합론과 열역학에 의해 정해진 근본적인 한계에 도달합니다. 양자 컴퓨팅이 이러한 한계를 제거하지는 않지만, 매우 특정한 시나리오에서 이를 우회할 수 있습니다.

양자 컴퓨팅만으로는 왜 안 될까요?

양자 컴퓨팅이 고전 컴퓨팅의 특정 한계를 우회할 수 있다면, 왜 양자 컴퓨터만 전적으로 의존하지 않을까요? 첫 번째이자 가장 명백한 이유는 양자 컴퓨터가 기능하기 위해 여전히 고전 기계를 필요로 한다는 것입니다. Circuit을 컴파일하고 양자 프로세서에 공급하는 것, 측정 결과를 저장하는 것, 그리고 기본적인 후처리를 수행하는 것과 같은 작업들은 모두 고전 컴퓨팅 시스템에 의해 수행됩니다.

그렇다면 왜 고성능 컴퓨팅이 추가로 필요할까요? 몇 가지 이유가 있습니다. 현재 및 예상되는 많은 양자 컴퓨팅 응용 프로그램은 검색 공간이 매우 큰 문제를 다룹니다. 양자 알고리즘은 종종 이 공간의 크기를 크게 줄일 수 있지만, 실제로 남은 문제는 여전히 HPC 자원의 혜택을 받을 만큼 클 수 있습니다. 더욱이, HPC와 양자 컴퓨팅의 강점을 균형 있게 활용하는 알고리즘들이 있으며, 충분한 작업을 HPC에 위임하여 전체 알고리즘을 양자 노이즈의 영향에 더 강하게 만듭니다.

구체적인 예는 샘플 기반 양자 대각화(SQD) 알고리즘입니다. 레슨 4에서 탐구될 이 알고리즘은 HPC와 양자 컴퓨팅이 실제로 어떻게 서로를 보완할 수 있는지를 보여줍니다. 추가적인 배경 지식은 IBM Quantum Learning의 양자 대각화 알고리즘 과정을 참조하세요.

이 과정은 고성능 컴퓨팅(HPC) 인프라 및/또는 양자 컴퓨팅과 밀접하게 작업하는—또는 작업할 계획인—전문가와 학생을 위해 설계되었습니다. 양자 기술의 빠른 발전으로, 우리는 양자 프로세서가 더 정확한 결과를 달성하고 문제 해결에 대한 새로운 접근 방식을 가능하게 하기 위해 기존 HPC 자원과 통합되는 가까운 미래를 예상합니다. 이 과정은 이러한 하이브리드 워크플로우를 구축하고 실행하는 방법을 이해하고 싶은 학습자를 위한 것입니다.

참가자들은 서로 다른 배경을 가지고 올 수 있기 때문에, 두 가지 주요 유형의 학습자를 예상합니다. HPC에 이미 경험이 있지만 양자 컴퓨팅은 처음인 사람들과, 양자 컴퓨팅에는 능숙하지만 HPC는 처음인 사람들입니다. 모든 사람이 이 과정을 최대한 활용할 수 있도록, 아래에 두 그룹 모두에 대한 준비 권장 사항을 제공합니다.

HPC가 처음인 분들을 위해

이 과정은 분산 메모리 프로그래밍, 메시지 전달, 병렬 프로그래밍 모델, 자원 관리와 같은 핵심 HPC 개념에 대한 친숙함을 가정합니다. 우리는 또한 Slurm 워크로드 매니저와 같은 도구를 사용할 것입니다. 이러한 개념들 중 많은 부분이 필요에 따라 간략하게 소개되겠지만, 사전에 어느 정도 노출이 있으면 내용을 더 쉽게 접근할 수 있습니다. 도움이 되는 자원은 다음과 같습니다.

추가 자원도 이 GitHub 저장소에 제공됩니다.

양자 컴퓨팅이 처음인 분들을 위해

이 과정은 최소한의 입문 리뷰로 양자 컴퓨팅의 기본 도구와 개념을 활용할 것입니다. 참가자들이 최소한 Qiskit에 대한 실용적인 지식과 양자 Gate 및 Circuit에 대한 친숙함, 그리고 샘플링 기반 알고리즘에 대한 어느 정도의 노출을 갖추고 있을 것을 권장합니다. 아래 나열된 자원들이 도움이 되는 준비를 제공해야 합니다.

  • IBM Quantum® Composer 가이드: 양자 Circuit을 구축하고 양자 하드웨어에서 실행하기 위해 작업을 드래그 앤 드롭할 수 있는 그래픽 양자 프로그래밍 도구인 Composer의 안내.
  • Qiskit 소개: Qiskit을 설치하고 구성하는 데 도움이 되는 가이드 세트.
  • Hello world: 첫 번째 양자 프로그램을 설정하고 실행하는 Qiskit에 대한 짧은 튜토리얼.
  • 양자 대각화 알고리즘: SQD를 포함한 여러 유형의 양자 알고리즘을 다루는 과정으로, 이 과정에서 사용될 예정입니다.

추가 자원도 이 GitHub 저장소에 제공됩니다.

모든 배경의 학습자들은 이 가이드가 유용할 것입니다. 이는 양자 자원 관리를 위한 SPANK 플러그인과 Slurm에 대한 몇 가지 내용을 다룹니다.

양자 컴퓨팅의 고유성이 이 과정에서 중요한 방식으로 고전 컴퓨팅 자원과 절차적으로 다르게 만드는 몇 가지 방식이 있습니다. 예를 들어, RAM의 좋은 양자 아날로그가 없습니다. 정보는 Qubit 자체의 상태에 저장되고 처리됩니다. 측정을 통해 Qubit의 일부 특징을 고전적으로 기록할 수 있지만, 그러한 측정은 중첩과 얽힘을 포함한 양자 상태의 풍부함의 대부분을 파괴합니다. 더욱이, 양자 컴퓨팅 자원은 현재 다른 HPC 자원과 같은 노드에 있지 않으며, 양자 자원의 사용자들은 종종 고전 HPC 자원에 대해 가질 수 있는 것과 같은 수준의 스케줄링 제어를 갖지 못합니다. 이러한 현실들은 적절한 레슨에서 반복될 것입니다. 그러나 여기서의 핵심은 양자 컴퓨터가 세상을 바꿀 것이고 HPC와 통합되어야 하지만, CPU, GPU 등과 동일한 방식으로 제어하고 사용할 수 있는 "단순한 또 다른" HPC 자원이 아니라는 것입니다. 양자 컴퓨터는 우리가 많은 컴퓨팅 문제에 접근하는 방식을 바꿉니다.

이 과정에 대해

이 과정을 마치면, 단순히 기술 용어를 반복하는 것 이상을 할 수 있게 됩니다. CPU와 GPU가 나머지 작업을 처리하는 동안 특정 하위 작업을 양자 프로세서에 할당하는 현대적인 하이브리드 워크플로우를 관리하는 방법을 이해하게 됩니다. 고전 노드와 QPU 간에 원활하게 전환되는 작업용 스크립트 작성 방법, 정확하게 결과를 해석하는 방법, 그리고 양자 가속이 계산을 진정으로 개선할 수 있는 곳(과 그렇지 않은 곳)을 인식하는 방법을 배울 것입니다. 동등하게 중요한 것은, 성장 마인드셋을 유지하는 연습을 할 것입니다. 새롭고 빠르게 진화하는 분야에서 누구도 한 번에 모든 것을 배우지 않으며, 실제 발전은 반복, 실험, 그리고 질문에서 비롯됩니다. 이 과정은 다음 주제를 다루는 5개의 챕터로 나뉩니다.

강의 개요

  • 레슨 1 - 이 레슨은 배경과 동기를 다루었습니다
  • 레슨 2 - 컴퓨팅 자원과 그 관리
  • 레슨 3 - 이기종 컴퓨팅 환경을 포함한 프로그래밍 모델
  • 레슨 4 - 하이브리드 워크플로우를 위한 양자 알고리즘, 특히 SQD
  • 레슨 5 - 미래 전망과 방향

이 과정을 여러분의 발사대로 생각하세요. 최종 레슨을 완료한 후에도 양자-고전 프론티어를 탐구하는 데 필요한 사고 도구와 자신감을 쌓는 장소로요.

References

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