Skip to main content
IBM Quantum Platform

IBM Quantum Compute Service 계정을 초기화하세요

IBM Quantum® Compute Service를 사용하기 전에, 자격 증명을 제출(로드)하여 계정을 초기화(인스턴스화)해야 합니다. IBM Quantum Compute Service를 초기화할 때마다 이러한 인증 정보를 수동으로 제출하거나, 재사용을 위해 저장해 둘 수 있습니다.

참고

시작하기 전에

이 단계를 완료했는지 확인하세요:

  1. IBM Cloud 계정의 회원인지 확인합니다. 자세한 지침은 IBM Cloud 계정 설정을 참조하세요.
  2. 인스턴스를 하나 이상 생성(또는 액세스 권한 보유)해야 합니다. 확인하려면 다음 단계를 따르세요:
    1. 에 로그인 IBM Quantum Platform.
    2. 헤더의 계정 전환기에서 올바른 계정과 지역이 선택되었는지 확인합니다.
    3. 하나 이상의 인스턴스가 표시되면 이 단계는 완료된 것입니다. 그렇지 않으면 인스턴스를 생성하십시오.
  3. .을 사용하여 활성 Python 환경에서 작업하고 있는지 확인하십시오 Qiskit SDK 그리고 qiskit-ibm-runtime 설치했습니다.
  4. Python 가상 환경을 활성화하고 가상 환경에서 Python 을 실행합니다.

접근 자격 증명을 찾으세요

  1. API 키( API 토큰이라고도 함)를 찾습니다. 대시보드에서 API 키를 생성한 다음 안전한 위치에 복사하여 인증에 사용할 수 있도록 합니다. 토큰이 다시 표시되지 않습니다. 단일 API 키를 사용하여 모든 지역에 연결할 수 있다는 점에 유의하세요.
  2. 선택 사항입니다: 인스턴스 페이지에서 사용하려는 인스턴스를 찾습니다. CRN 위로 마우스를 가져가 아이콘을 클릭하여 복사한 다음 안전한 위치에 저장하여 인스턴스를 식별하는 데 사용할 수 있습니다.

Qiskit을 IBM Quantum 컴퓨트 서비스 인스턴스에 연결하세요

Note

이 지침은 qiskit_ibm_runtime v0.42 이후 버전에 맞게 설계되었습니다. qiskit_ibm_runtime 의 이전 버전에서는 일부 기능을 사용할 수 없습니다. 이러한 경우 항상 channel, token, instance 에 명시적으로 또는 저장된 계정을 통해 값을 제공해야 합니다.

Qiskit을 양자 컴퓨팅 인스턴스에 연결하는 기본 코드는 다음과 같습니다. 하지만 사용자의 필요에 따라 옵션을 QiskitRuntimeService 맞춤 설정할 수 있는 방법은 여러 가지가 있습니다. 이러한 옵션은 다음 절에서 설명됩니다.

from qiskit_ibm_runtime import QiskitRuntimeService

service = QiskitRuntimeService(channel=<channel>,
            # For `token`, use the 44-character API_KEY you created 
            # and saved from the IBM Quantum Platform dashboard
            token=<your-API_KEY>, 
            instance=<instance_CRN>)
Note

기본 채널은 ibm_quantum_platform 입니다. 이 채널은 거의 항상 적절한 채널이므로 예제에는 포함되지 않았습니다.

빠른 시작 경로: 자격 증명을 명시적으로 지정

QiskitRuntimeService 인스턴스를 실행하는 가장 빠른 방법은 직접 인스턴스화 방식입니다. IBM Quantum Compute Service를 초기화해야 할 때마다 API 토큰(키)과 CRN (인스턴스 식별자)를 명시적으로 제공해야 합니다. 필요한 경우 ‘접속 자격 증명 찾기’를 참조하십시오.

from qiskit_ibm_runtime import QiskitRuntimeService

# For `token`, use the 44-character API_KEY you created 
# and saved from the IBM Quantum Platform dashboard
service = QiskitRuntimeService(token=<cloud_api_key>, 
            instance=<instance_CRN>)

이 경로는 안정적이지만 동일한 세부 정보를 반복적으로 로드해야 하는 경우 지루할 수 있습니다. 자격 증명을 여러 번 로드하지 않으려면 신뢰할 수 있는 Python 환경(예: 개인 노트북 또는 워크스테이션)에서 작업하는 경우 다음 섹션에 설명된 대로 저장된 계정 자격 증명을 사용할 수 있습니다.

instance 입력 매개변수는 선택 사항이지만 단일 서비스를 사용하여 여러 인스턴스로 작업하려는 경우가 아니라면 항상 이 정보를 제공하는 것이 좋습니다. 이 상황에서는 자동 인스턴스 선택 섹션을 참조하세요.

빠른 시작 경로: 저장된 자격 증명 지정

이미 자격 증명을 저장한 경우, 기본 자격 증명을 적용하려면 다음 코드를 사용하십시오. 자격 증명 저장 방법에 대한 지침은 '접근 자격 증명 저장'을 참조하십시오.

from qiskit_ibm_runtime import QiskitRuntimeService

# run every time you need the service
service = QiskitRuntimeService()
...

하나 이상의 자격 증명 집합에 이름을 지정한 경우(예: 공개 및 프리미엄 액세스용) 다음 코드를 사용하여 명명된 자격 증명 집합을 사용하세요.

from qiskit_ibm_runtime import QiskitRuntimeService

# run every time you need the service
service = QiskitRuntimeService(name="<name_of_saved_credentials>")
...

저장된 자격 증명 로드 시 고려 사항

  • tokenname 으로 서비스를 초기화하면 token 은 무시되고 name 계정의 저장된 세부 정보가 로드됩니다.

    다음 예제에서는 account_A 에서 세부 정보를 로드하고 token_B 을 사용하지 않습니다:

    from qiskit_ibm_runtime import QiskitRuntimeService
    
    service = QiskitRuntimeService(token="token_B", name="account_A")
  • 서비스를 초기화할 때 nameinstance 을 제공하면 서비스는 name 계정을 로드하고 지정된 instance 에 연결을 시도합니다. 충돌이 발생하면 경고가 표시됩니다.

    다음 예제에서는 account_A 에 지정된 다른 인스턴스가 있더라도 account_A 에 대한 자격 증명을 로드하고 CRN_B 인스턴스를 사용하려고 시도합니다:

    from qiskit_ibm_runtime import QiskitRuntimeService
    
    service = QiskitRuntimeService(instance="CRN_B", name="account_A")
  • 서비스를 초기화할 때 token 또는 name 을 제공하지 않는 경우에만 기본 저장된 계정을 로드하려고 시도합니다. 그러나 instance 을 명시적으로 제공하면 서비스는 기본 자격 증명을 사용하여 해당 인스턴스에 연결을 시도합니다. 충돌이 발생하면 경고가 표시됩니다.

    다음 예에서는 기본 계정에 다른 인스턴스가 지정되어 있더라도 서비스가 기본 자격 증명을 로드하고 CRN_B 인스턴스를 사용하려고 시도합니다:

    from qiskit_ibm_runtime import QiskitRuntimeService
    
    service = QiskitRuntimeService(instance="CRN_B")
  • 여러 개의 자격증명 집합을 저장했지만 서비스를 초기화할 때 하나를 지정하지 않고 기본 저장된 계정이 없는 경우 알파벳 순으로 이름이 마지막에 오는 자격증명 집합이 사용됩니다.

    다음 예에서는 사용자가 'my_premium' 및 'my_open'이라는 이름의 계정을 저장했지만 어느 쪽도 기본값으로 표시하지 않았습니다. 그런 다음 다음 코드를 사용하여 서비스를 초기화했습니다. 이 경우 "my_premium" 자격 증명이 사용됩니다:

    from qiskit_ibm_runtime import QiskitRuntimeService
    
    service = QiskitRuntimeService()
  • 지속적으로 "401 Unauthorized" 오류가 발생한다면, API 키 대신 베어러 토큰을 사용하려고 시도하고 있을 수 있습니다.

인스턴스를 자동으로 선택합니다

서비스를 인스턴스화할 때 토큰을 제공하지만 인스턴스 CRN을 제공하지 않은 경우 QiskitRuntimeService 은 토큰으로 식별된 계정으로 인증하고 자동 인스턴스 선택을 사용하여 요청된 작업에 가장 적합한 인스턴스를 선택합니다. 계정 내에서 여러 인스턴스를 사용할 수 있는 경우 요청된 리소스와 QiskitRuntimeService 옵션(설정된 경우)에 따라 서비스에서 사용 가능한 인스턴스 중에서 자동으로 선택합니다: plans_preference, region, tags.

  • plans_preference: 우선순위를 지정할 인스턴스 계획 유형입니다. 예를 들어 [open] 을 전달하면 오픈 플랜 인스턴스만 사용할 수 있습니다. 허용되는 값은 open, premium, pay-as-you-go, flex, on-prem 입니다. plans_preference 을 지정하지 않으면 무료 요금제가 유료 요금제보다 우선합니다.
  • region: 인스턴스 지역입니다. 허용되는 값은 us-easteu-de 입니다.
  • tags: 인스턴스 태그입니다. 태그 이름 문자열 목록을 허용합니다.
Note

저장된 자격 증명을 설정하여 인스턴스를 자동으로 선택하도록 할 수 있습니다.

인스턴스는 이 순서대로 찾아서 사용합니다:

  1. 계정에 하나의 인스턴스만 액세스할 수 있는 경우 기본적으로 이 인스턴스가 선택되어 있습니다.
  2. 저장된 자격 증명이 사용 중이고 해당 자격 증명과 함께 인스턴스가 지정된 경우, 해당 인스턴스가 사용됩니다. 저장된 자격 증명을 불러올 때 고려 사항을 참조하십시오.
  3. 요청된 QPU에 액세스할 수 있는 인스턴스가 계정에 여러 개 있는 경우, 시스템은 사용자가 지정한 요금제 선호도를 바탕으로 요금제와 인스턴스를 선택합니다. v0.42 및 qiskit-ibm-runtime 이후 버전에서는 기본적으로 무료 요금제가 우선적으로 적용됩니다.
  4. 계정에 여러 인스턴스에 대한 액세스 권한이 있지만 요청된 QPU에 액세스할 수 있는 인스턴스가 하나만 있는 경우 액세스 권한이 있는 인스턴스가 선택됩니다. 이 인스턴스가 무료 요금제와 연결되어 있지 않은 경우 비용이 발생합니다.

이 예에서는 서비스가 계정에서 사용할 수 있는 모든 인스턴스를 검색하여 지정된 백엔드에 액세스할 수 있는 인스턴스를 찾습니다:

service = QiskitRuntimeService(token=<your-API_KEY>)

이 예에서는 서비스가 EU 지역에서 계정에서 사용할 수 있는 모든 인스턴스를 검색하여 지정된 백엔드에 액세스할 수 있는 인스턴스를 찾습니다:

service = QiskitRuntimeService(token=<your-API_KEY>, region="eu-de")

이 예에서는 계정에서 사용할 수 있고 services 로 태그가 지정된 모든 인스턴스를 검색하여 지정된 백엔드에 액세스할 수 있는 인스턴스를 찾습니다:

service = QiskitRuntimeService(token=<your-API_KEY>, tags=['services'])

이 예에서는 서비스에서 계정에 사용 가능한 모든 프리미엄 및 오픈 인스턴스를 검색하여 지정된 백엔드에 액세스할 수 있는 인스턴스를 찾습니다. 백엔드가 프리미엄 및 오픈 요금제 인스턴스에 모두 있는 경우 plans_preference 에서 premium 이 먼저 지정되므로 프리미엄 요금제 인스턴스가 우선 순위가 지정됩니다.

service = QiskitRuntimeService(token=<your-API_KEY>, 
    plans_preference=['premium', 'open'])

어떤 인스턴스가 선택되었는지 확인하십시오

선택한 인스턴스는 경고로 반환됩니다. 또한 service.active_instance() 을 실행하여 활성 인스턴스를 확인할 수 있습니다.

다음과 함께 로컬 테스트 수행 qiskit-ibm-runtime

QiskitRuntimeService 클래스는 channel=local 으로 초기화하여 로컬 시뮬레이션을 수행할 수 있습니다. 이 경우 인증이 필요하지 않으며 token 또는 instance 에 값을 제공할 필요가 없습니다. 따라서 로컬 계정을 저장하지 않는 것이 좋습니다. 대신 직접 인스턴스화를 수행할 수 있습니다:

from qiskit_ibm_runtime import QiskitRuntimeService

# Initialize for local testing

service = QiskitRuntimeService(channel="local")

다음 단계

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.