paint-brush
양자 컴퓨팅에는 더 많은 소프트웨어 엔지니어가 필요합니다~에 의해@ddri
453 판독값
453 판독값

양자 컴퓨팅에는 더 많은 소프트웨어 엔지니어가 필요합니다

~에 의해 David Ryan11m2024/05/26
Read on Terminal Reader

너무 오래; 읽다

고급 프로그래밍 언어부터 하드웨어 시스템까지 양자 컴퓨팅의 소프트웨어 스택을 살펴보세요(그리고 양자 경력을 시작하세요).
featured image - 양자 컴퓨팅에는 더 많은 소프트웨어 엔지니어가 필요합니다
David Ryan HackerNoon profile picture
0-item

이 기사는 양자 컴퓨팅에 더 많은 소프트웨어 엔지니어가 필요하다는 점에서 영감을 받았습니다. 실제 고객에게 실제 제품을 배송할 수 있도록 하는 다른 개발자, UX 디자이너, QA 테스터, 제품 관리자 및 기타 모든 인재는 말할 것도 없습니다. 특히 양자 컴퓨팅과 같은 Deep Tech 및 Frontier Tech의 제품입니다.


이러한 제품과 이를 만들려는 팀은 "과학, 기술, 엔지니어링, 제품"까지 길고도 도전적인 여정을 거쳐야 합니다. 기술 준비를 통한 단순한 선형적 발전이 아니라 조직(및 커뮤니티) 발전에 더 중점을 둔 일련의 단계 변화입니다.


이러한 진화는 그냥 일어나는 것이 아닙니다. 이러한 팀에서 일하는 우리는 조직이 학술적인 것에서 기술적인 것, 그리고 시장과 보다 광범위하게 참여하는 것으로 변화함에 따라 조직을 재창조해야 하는 과제에 직면해 있습니다. 이는 성장하는 인재 커뮤니티를 소싱하고 이들과 협력하는 동시에 우리 자신의 기술을 지속적으로 발전시키고 성장시키는 것을 의미합니다.



이는 제가 2022년 Linux Foundation의 Open Source Summit에서 열린 " 양자 컴퓨팅 경력을 향한 오픈 소스 방법 " 강연에서 다루었던 내용입니다. 그리고 그 이후로 업계가 "양자 유틸리티"( 이론적 우위 가 아닌 실제 유용성에 초점을 맞추기 위해 사용하는 용어)를 향한 눈에 띄는 전환과 일부 대규모 프로젝트가 시작되면서 더욱 성장했습니다. 내 고향인 브리즈번에 상업용 양자 컴퓨터를 설치하기 위해 호주 정부가 PsiQuantum에 거의 10억 달러를 투자한 것과 같은 것입니다(여기 시애틀에서 약간의 향수병을 느끼며 말했습니다).


그렇습니다. 많은 일이 일어나고 있습니다. 따라서 지금은 이러한 양자 시스템이 실제로 무엇으로 구성되어 있는지, 그리고 여러분의 재능과 호기심이 어디에 적합한지 이해할 수 있는 매우 좋은 시간입니다. 참여 방법에 대한 몇 가지 권장 사항을 마지막에 포함했습니다. 그리고 실제로 하나의 "양자 컴퓨터" 패러다임은 없다는 간단한 면책 조항을 추가해야 합니다. 나는 교육적 가치를 위해 우리가 작업하는 다양한 시스템의 가장 일반적인 요소를 추상화했지만 시간이 지남에 따라 이 모델이 발전함에 따라 어떤 도전이나 반박도 환영합니다.

양자 스택 개요

여러 면에서 양자 컴퓨팅 스택은 최신 고성능 컴퓨팅(HPC) 스택의 패턴과 일치합니다. 그리고 어느 정도는 클라우드 컴퓨팅 분야에서 일하는 누구에게나 충분히 친숙할 것입니다. 우리는 높은 수준의 사용자 경험에서 작업 부하를 가져와 하드웨어에서 실행될 무언가로 변환하는 일종의 플랫폼으로 이동합니다. 머리를 숙일 수 있을 만큼 간단합니다.


뉘앙스는 훨씬 더 복잡합니다. 예를 들어 양자 컴퓨터는 사용되는 양자 알고리즘만큼만 우수하다는 것을 이해하는 것과 같습니다. 중첩얽힘에 대해 들어본 모든 멋진 내용은 하드웨어 수준에서 위상과 간섭을 사용하여 올바른 확률을 내는 "계산"을 수행하는 몇 가지 유용한 알고리즘을 안정적으로 실행하는 방법에 불과합니다. 답변. 이렇게 하면 정답이 나올 확률이 높아집니다. 이를 위해서는 유용한 알고리즘과 안정적인 시스템 구현이 필요합니다.


시뮬레이션도 중요한 역할을 합니다. 이것이 "값비싼 하드웨어 구매 비용 절감"과 관련이 있다고 말할 수도 있지만 실제로는 그렇지 않습니다(그리고 누군가가 AI를 사용하여 양자 클릭베이트를 작성하고 있다는 단서가 되는 경우가 많습니다). 우리는 새롭고 흥미로운 알고리즘을 개발하는 데 도움을 줄 뿐만 아니라 워크로드를 설정하는 다양한 방법을 탐색하기 위해 시뮬레이션을 사용합니다. 이는 또한 우리 중 많은 사람들이 구축하고 있는 워크플로우의 핵심 부분이기도 합니다. 진정한 하이브리드 시스템은 GPU(또는 TPULPU 와 같은 최신 칩)를 통한 가속과 함께 기존 컴퓨팅 리소스를 사용하여 작업 부하 및 일정을 처리하고 효과적으로 추진합니다. 양자 알고리즘이 현재 작업에 유용할 수 있는 양자 처리 장치(QPU)에 특정 워크로드를 할당합니다. 저와 같은 일부는 양자 컴퓨팅을 기존 인프라와 통합하는 데 중점을 두고 있는 반면, 다른 일부는 가장 강력한 독립형 양자 시스템을 구축하는 데 전념하고 있습니다. 따라서 업계의 광범위한 탐구가 가능합니다.


여기서 얻을 수 있는 것은 양자 컴퓨터가 특수 양자 알고리즘을 실행하기 위해 기존 컴퓨팅 스택에 추가로 QPU를 포함하는 특수 시스템이라는 것입니다. 고양이, 슬릿, 으스스한 손 흔들기가 필요하지 않습니다.



양자 스택의 세부 사항

다음 섹션은 최상위 사용자 계층에서 플랫폼을 거쳐 궁극적으로 하드웨어 계층으로 이동합니다. 실제로는 이러한 계층 간의 경계가 모호할 수 있지만 명확성과 온전함을 위해 일반적인 작업 부하나 작업 흐름을 기반으로 한 모델을 따르겠습니다.

1. 양자 프로그래밍 언어 및 개발자 도구

양자 시스템의 가장 높은 수준에는 인간이 키보드를 두드리는 것이 있습니다. 양자 프로그래밍 언어는 양자 알고리즘을 탐색하고 관리 가능한 형식으로 프로그램을 만드는 데 필요한 높은 수준의 추상화를 제공합니다. 양자 소프트웨어를 개발하는 데 필요한 라이브러리와 도구를 제공하는 SDK(소프트웨어 개발 키트)를 통해 이러한 언어로 작업하는 경험이 확장됩니다.


SDK와 프레임워크, 통합 개발 환경(IDE) 사이의 구분이 일부 모호해졌습니다. 이는 양자 공급업체의 다양한 접근 방식과 특정 최종 사용자에 맞춰진 플랫폼 및 제품 카테고리의 통합에 의해 형성됩니다. 완전한 로컬 액세스 및 펄스 레벨 제어를 원하는 연구원은 하이브리드 워크로드를 개발하는 기업 팀과 다르며, 이는 클라우드 기반 양자 플랫폼 위에 건물을 짓는 핀테크 스타트업과도 다릅니다. 이 패턴은 엔터프라이즈 또는 클라우드 기반 프로젝트에 익숙하지만 양자 시스템의 상업적 가치가 더욱 분명해지고 제품 디자인에 영향을 미치면서 미묘한 차이로 발전할 것입니다. 한편, 가장 널리 사용되는 SDK 및 관련 프로그래밍 언어는 다음과 같습니다.


2. 양자 알고리즘 및 응용

스택 아래로 이동하면 원하는 양자 워크로드의 핵심이 되는 알고리즘이 나옵니다. 양자 컴퓨터를 만들기 위한 다양한 경쟁 접근 방식이 향상됨에 따라 실제 응용 프로그램에 대한 기회도 향상됩니다. 다양한 소프트웨어 라이브러리 및 패키지가 특정 기능 사용 영역(예: 양자 기계 학습을 위한 IBM의 Qiskit Machine Learning 또는 양자 화학을 위한 Google의 OpenFermion )을 위해 구축되고 있으며, 알려진 양자 알고리즘의 기존 라이브러리는 연구원에 의해 확장 및 최적화되고 있습니다. 및 상용 공급업체(예: Stephen Jordan의 Quantum Algorithm ZooClassiq의 라이브러리 ).


일부 양자 알고리즘은 유명인에 가까운 지위를 얻었습니다. 다른 것들은 기존 알고리즘을 양자적으로 적용하거나 대규모 워크로드를 위한 구성 요소 역할을 합니다. 현실 세계에서 기능적으로 쓸모가 없는 일부 양자 알고리즘도 있지만(감히 여기에 물리학자에 대한 농담을 삽입하십시오) 양자 이점의 중요한 예입니다. 더 자세히 알아보려면 양자 알고리즘에 대한 내 기능을 참조하세요. 여기에 몇 가지 주목할만한 예가 있습니다.


  • Shor의 알고리즘은 알려진 기존 알고리즘보다 기하급수적으로 빠르게 많은 수를 인수분해하는 방법으로 제안된 "암호화 크래킹" 알고리즘입니다.
  • Grover의 검색 알고리즘은 구조화되지 않은 데이터 검색의 알고리즘 속도 향상을 위한 유용한 시작점입니다.
  • Deutsch-Jozsa 알고리즘은 그 자체로는 기술적으로 유용하지 않지만 고전적인 방법에 비해 양자적 이점을 보여주는 초기 예였습니다.
  • QFT(양자 푸리에 변환)는 많은 강력한 알고리즘의 핵심인 고속 푸리에 변환의 양자 버전입니다.
  • VQE(Variational Quantum Eigensolver)는 양자 화학, 재료 시뮬레이션 및 최적화 문제의 단기 응용을 위해 연구되고 있는 하이브리드 알고리즘입니다.

3. 양자 시뮬레이터 및 에뮬레이터

양자 시뮬레이터는 클래식 컴퓨터에서 양자 시스템의 동작을 복제하는 데 사용되는 소프트웨어 도구입니다. 이는 알고리즘을 개발하고 잠재적인 작업 부하를 최적화하는 작업 흐름의 필수적인 부분을 형성합니다(특히 동일한 게이트 세트 또는 특정 하드웨어의 기타 요소를 특징으로 하는 시뮬레이터의 경우). 업계 자체가 순수한 학술 연구에서 잠재적인 상업적 활용으로 발전함에 따라 시뮬레이터의 역할도 발전해 왔습니다. 특정 양자 하드웨어에 대한 시뮬레이션의 정확도는 시스템 고유의 소음과 오류를 모델링하는 수준까지 향상되었습니다. 다음 예는 업계가 성숙해짐에 따라 공급업체( Qiskit 1.0 참조 )가 제품 범위를 반복하거나 합리화함에 따라 변경되거나 더 이상 사용되지 않을 수 있습니다.


4. 양자 클라우드 플랫폼

스택 아래로 더 이동하기 전에 양자 클라우드 플랫폼 주제에 대해 간단한 참고 사항을 작성해야 합니다. 현재 시대에는 소수의 하드웨어 시스템을 운영하는 소수의 주요 공급업체가 있습니다. 각각은 하드웨어 장치를 직접 판매할지, 자체 캠퍼스에서 호스팅할지, 인터넷을 통해 액세스를 판매할지, 아니면 위의 조합을 시도할지에 대한 동일한 질문에 직면합니다. 그런 다음 프라이빗 상호 연결, 퍼블릭 클라우드 공급업체, 주권 기능 및 연구실을 혼합에 추가하세요. 클라우드 플랫폼 모델이 양자 컴퓨팅을 정의하는 경제 모델로 입증될 것이라는 점은 확실하지 않습니다. 하지만 이전의 클라우드 컴퓨팅 패턴을 고려할 때 클라우드 플랫폼 모델이 해당 부문 외부에서 가장 큰 인지도를 차지하고 있습니다.


그럼에도 불구하고 클라우드 플랫폼 액세스를 위해 시스템을 프로비저닝하지 않기로 선택한 회사에도 주의를 기울이십시오. Quantum Brilliance 에서 저는 소형 폼 팩터 및 실온 QPU를 가능하게 하는 다이아몬드 NV 센터 접근 방식을 사용하여 고도로 병렬화된 엣지 컴퓨팅 클러스터에 중점을 두었습니다( ). 다른 양자 스타트업과 이야기를 나누다 보면 모든 형태의 고정 또는 모바일 배포에 대한 사용 사례가 적용되는 것으로 보이며 웹에서 벗어나 흥미로운(종종 공개되지 않은) 작업이 많이 진행되고 있습니다. 온라인으로 접근할 수 있는 것 중에서 볼만한 것은 다음과 같습니다.


5. 양자 컴파일러 및 회로 최적화

양자 컴파일러의 역할은 상위 수준 양자 프로그램을 양자 하드웨어에서 실행될 하위 수준 명령으로 변환하는 것입니다. 구체적인 내용은 이 기사의 범위를 벗어나지만 프로세스에는 게이트 분해(추상 게이트를 물리적 큐비트에 일치시키기 위해), 매핑 및 스케줄링(알고리즘의 논리적 큐비트를 물리적 큐비트에 일치시키기 위해) 및 공급업체와 관련된 세부 정보가 포함됩니다. 특정 시스템(충실도, 오류율, 연결성 등)


이 예제 스택을 단순화하기 위해 기본 기능을 변경하지 않고 양자 게이트 수, 깊이 또는 기타 리소스 요소를 최소화하는 기술을 적용하는 다양한 형태의 양자 회로 최적화를 이 수준으로 롤백합니다. 이는 컴파일 전, 컴파일 프로세스 중 일부로 또는 나중에 하드웨어 프로세스 미세 조정의 일부로 발생할 수 있습니다. 명확성을 위해 워크플로 내에서 여기에 그룹화해 보겠습니다. 다음은 알아야 할 몇 가지 예입니다.


6. 양자 오류 정정 소프트웨어

"시끄러운" 양자 시스템이 존재하는 현재 시대에서 양자 오류 수정의 역할은 특히 중요합니다. 이 스택 레이어를 전문으로 하는 회사가 있다는 점입니다. 이러한 회사의 필요성과 광범위한 오류 수정 노력은 양자 시스템의 취약한 특성 때문입니다. 초전도 양자 컴퓨터가 대중의 상상을 지배하고 있지만 오류 수정은 모든 방법(갇힌 이온, 광자, NV 센터 등)에서 필수적입니다.


큐비트 생성 방법에 관계없이 준비, 워크로드 실행 및 측정에 문제가 발생합니다. 결맞음은 게이트 오류, 측정 오류 및 개별 큐비트 품질과 함께 모든 방법에 영향을 미칩니다. 양자 오류 수정은 당연히 복잡하지만 시스템 중복성(양자 정보를 여러 큐비트에 분산), 신드롬 관리(인코딩된 정보를 방해하지 않고 오류를 감지하기 위해 보조 큐비트 사용), 개별 또는 클러스터된 큐비트의 성능 프로파일링과 같은 기술을 통합할 수 있습니다. 시간이 지남에 따라. 진정한 내결함성 양자 컴퓨팅 시대가 달성 가능하다면 이것들은 여전히 중요하지만, 우리가 살고 있는 현재 NISQ(Noisy Intermediate-Scale Quantum) 시대에는 흥미로운 연구 주제입니다. 주요 공급업체 및 예는 다음과 같습니다. .


7. 양자 제어 시스템

양자 제어 시스템은 양자 하드웨어의 작동을 관리하고 제어하는 역할을 담당합니다. 교정, 펄스 형성 및 큐비트 제어와 같은 하드웨어 수준의 작업을 처리합니다. 개발 중인 다양한 형태의 양자 컴퓨팅과 모놀리식 또는 네트워크형 양자 시스템의 구현 범위를 고려할 때 "양자 제어 시스템"이라는 용어는 구체적이기보다는 포괄적인 것으로 간주할 수 있습니다. 마찬가지로 "양자 운영 체제"에 대한 명확하고 빠른 정의는 없습니다.


개발 단계 가 "과학에서 기술로" 단계에서 "엔지니어링에서 제품으로" 단계로 이동함에 따라 이는 시간이 지나면서 바뀔 가능성이 높습니다. 특히 기존 제품 패턴과 사용자 및/또는 시장의 용어와의 긴밀한 조정이 바람직한 경우에는 더욱 그렇습니다. 대부분의 경우 제어 시스템은 내부 리소스(OS와 펌웨어 사이)가 되지만 다음 공급업체와 제품은 주목할 만합니다.


8. 양자 하드웨어

스택의 마지막 계층은 양자 하드웨어 자체입니다. 큐비트를 생성하고 사용하는 단일 또는 올바른 방법은 없다는 점을 기억하는 것이 유용합니다. 시장을 선도하는 명확한 접근 방식도 없습니다. 각 방법이나 접근 방식에는 고유한 과제가 있으며 특정 시나리오에 이점이 있는 여러 접근 방식이 있을 수 있습니다.


하드웨어 계층은 많은 사람들이 "양자 컴퓨팅"이라는 용어를 들을 때 생각하는 것입니다. 이는 초기 튜브 및 밸브 컴퓨팅 장치가 기계적 상호 작용의 힘으로 용어와 언어를 정의했던 것과 거의 같은 방식입니다. 스위치와 펀치 카드는 시간이 지남에 따라 명령과 프로그램에 자리를 내주고 메모리와 스토리지로 확장되고 네트워크와 서버로 연결됩니다.


이러한 패턴은 양자 장치의 연구 및 개발에 존재하며 위에서 볼 수 있듯이 예제 양자 스택의 레이어는 각 레이어의 기존 전문 지식에 새롭고 흥미로운 아이디어를 제공할 수 있는 기회를 제공합니다. 스택의 각 기본 기술과 레이어가 제공하는 미묘한 차이를 고려할 때 우리가 결코 고려하지 않았을 새로운 방식이 있기를 바랍니다.

TL, DR?

양자 물리학자, 전기 및 전자 엔지니어, 제조자 및 모든 종류의 원자 조작자가 수행하는 작업은 비트와 (제타)바이트를 논쟁하는 우리 사람들에 의해 지원될 뿐만 아니라 가능해집니다. 참여하기에 좋은 시간입니다.


새로운 학습자를 위한 좋은 시작은 Q-CTRL의 Black Opal , Delft 대학의 edX에 대한 높은 수준의 MOOCIBM의 Qiskit으로의 불가피한 경로 입니다. C# 분야에 종사하는 분들을 위해 이 Microsoft 소개에서는 Q#을 사용한 접근 방식과 이 접근 방식이 Azure 생태계에 적용되는 방식을 간략하게 살펴봅니다. 그리고 Classiq 알고리즘 라이브러리는 북마크할 가치가 있습니다.


소프트웨어 엔지니어를 위한 양자 학습에 관한 전용 기사를 곧 작성할 예정입니다. 이는 Open Source Summit 강연 이후 거의 매주 이메일로 받는 주제이기 때문입니다. 경제 상황이 더 추운 상황에 영향을 받는 사람과 가족에게는 산업 변화가 어려운 반면, 이는 다른 방법으로는 갇혀 있을 인재(및 경력 경로)를 잠금 해제할 수 있는 기회가 될 수 있습니다. 따라서 추가 조사를 고려 중이시라면 그렇게 하시고, 제가 도와드릴 수 있는 일이 있으면 저에게 연락해 주십시오 . Deep Tech 및 Frontier Technology 영역에서 실제 제품을 출시하는 데 필요한 전략과 기술을 자세히 알아보는 Product In Deep 뉴스레터에 꼭 가입하세요.