Kuantum bilgisayarların ölçeklenmesiyle birlikte, kuantum donanımını kontrol etme ve kuantum hata düzeltme gibi görevler giderek daha karmaşık hale geliyor. Bu zorlukların üstesinden gelmek, kuantum işleme birimleri (QPU’lar) ile yapay zeka süper bilgisayarları arasında sıkı bir entegrasyon gerektiriyor. Bu paradigmayı hızlandırılmış kuantum süper bilgisayarı olarak adlandırıyoruz.
Araştırmacılar, kuantum donanımının tasarımı, kompakt devre sentezi ve hata düzeltme çözümleri gibi süreçlerde yapay zeka yöntemlerini giderek artan bir şekilde kullanıyor. Bu yöntemler, hata toleransı sağlamak için kritik bir bileşen olan kuantum hata düzeltme için de kullanılıyor.
Başarıya ulaşmak için araştırmacıların, kuantum işlem birimleri (QPUs) ve grafik işlem birimleri (GPUs) erişimi olması gerekiyor. Özellikle yapay zekadan faydalanan hibrit uygulamaları geliştirmek ve test etmek için bu iki teknoloji de büyük önem taşıyor.
Kuantum Araştırmalarında Erişim Zorlukları
Ancak kuantum araştırmalarını ve geliştirmelerini yavaşlatan kalıcı bir problem, araştırmacıların kuantum donanımına erişim için yönetmeleri gereken çeşitli erişim prosedürleri, yazılım yığınları ve fiyatlandırma modelleridir. Araştırmacıların, farklı sağlayıcılardan QPU donanımına sorunsuz bir şekilde erişebilecekleri güçlü bir geliştirme ortamına ihtiyacı var. Bu, minimum spin-up lojistik ile birlikte tutarlı bir kullanıcı deneyimi sağlamalıdır.
Hızlandırılmış kuantum hesaplamayı daha erişilebilir kılmak amacıyla, NVIDIA, kullanıcıların NVIDIA CUDA-Q platformuna daha fazla kuantum donanımına erişim sağlamak için AWS ile iş birliği yapmaktadır. NVIDIA CUDA-Q ve Amazon Braket platformlarının entegrasyonu sayesinde, CUDA-Q kullanıcıları, Amazon Braket üzerinden bir pay-as-you-go modeliyle farklı QPU donanımlarına erişim sağlayabilir. Bu, başlangıçta büyük masraflar veya uzun vadeli taahhütler gerektirmeden yapılabilmektedir.
Amazon Braket ile Hızlandırılmış Uygulamalar
Bu entegrasyon ayrıca, Amazon Braket kullanıcılarının, hızlandırılmış hibrit uygulamaları geliştirmek ve test etmek için hazır bir CUDA-Q programlama ortamına sahip olmasını sağlıyor.
CUDA-Q kullanıcıları artık Amazon Braket üzerinden QPU’lara erişim sağlayabilir. Kendi bilgisayarınızda CUDA-Q ile geliştirdiğiniz kodu, yalnızca Amazon Braket kullanıcı bilgilerinizi kullanarak, trapped-ion QPUs ile IonQ, süper iletken QPUs ile Rigetti ve IQM ve analog QPU ile QuEra’ya bulut üzerinden çalıştırabilirsiniz. Bu şekilde, uzunca taleplerle uğraşmadan QPU donanımına erişim sağlamak mümkün hale geliyor.
AWS Hesabı ile Başlanması
Başlamak için, Amazon Braket‘i AWS Hesabı ve Kimlik Erişim Yönetimi (IAM) ile etkinleştirmelisiniz. AWS IAM, AWS hizmetlerine AWS Yönetim Konsolu, komut satırı arayüzü (CLI) veya yazılım geliştirme kiti (SDK) aracılığıyla erişim sağlar. AWS IAM kullanıcı hesaplarınızı oluşturduktan sonra, IAM Erişim Yönetim Konsolu aracılığıyla bir erişim anahtarı üretebilir ve bu kimlik bilgilerini aşağıdaki kod örneğine aktarabilirsiniz:
export AWS_DEFAULT_REGION=”us-east-1”
export AWS_ACCESS_KEY_ID="<key_id>"
export AWS_SECRET_ACCESS_KEY="<access_key>"
export AWS_SESSION_TOKEN="<token>"
Amazon Braket aracılığıyla QPU’ları kullandığınızda, müşteri verileri üçüncü taraf tesislerde işlenmektedir. Hizmeti, müşteri devrelerini üçüncü taraf donanım sağlayıcılarına göndermesine yetki vermek için Amazon Braket şartlarını kabul etmelisiniz.
Bu şartları onayladıktan sonra, bir AWS cihazını, burada IQM’nin Garnet süper iletken QPU’sunu, belirtmek için CUDA-Q hedefini braket
yaparak machine parametresini cihaz olarak ayarlamalısınız.
import cudaq
#QPU’yu ve Braket arka planda seçin
device = "arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet"
cudaq.set_target("braket", machine=device)
#Bell durumu CUDA-Q çekirdek oluşturma
@cudaq.kernel
def kernel():
qubits = cudaq.qvector(2)
h(qubits[0])
x.ctrl(qubits[0], qubits[1])
mz(qubits)
result = cudaq.sample(kernel, shots_count=1000)
Bu kod, cihaz değişkenini uygun Amazon Kaynak Adı (ARN) ile değiştirerek başka bir QPU’da çalıştırılabilir.
Amazon Braket üzerinden QPU’ları kullanmak için öncelikle herhangi bir hizmet sağlayıcısıyla uzun sözleşmelere girmeye gerek kalmadan kullanılabilirler. Amazon Braket hakkında daha fazla bilgi almak için Amazon Braket Fiyatlandırması sayfasını ziyaret edebilirsiniz.
Kendi CUDA-Q Uygulamalarınızı Koşun
Amazon Braket kullanıcıları, doğrudan CUDA-Q’ya erişim sağlayabilir. Başlamak için, aşağıdaki kabuk scriptini kullanarak Amazon ECR (Elastic Container Registry) deposuna önceden oluşturulmuş bir konteyner yükleyebilirsiniz:
! container/container_build_and_push.sh braket-cudaq-byoc-job us-west-2
Aşağıdaki örnek, Amazon Braket deneyimi içerisinde CUDA-Q kodunu hazırlamanın ne kadar kolay olduğunu göstermektedir. /0_hello_cudaq_jobs.ipynb Jupyter defteri, CUDA-Q Braket konteynerinin başlatılmasını içeren tam kodu içermektedir.
import cudaq
image_uri = "<ecr-image-uri>"
instance_config=InstanceConfig(instanceType='ml.p3.2xlarge')
@hybrid_job(device='local:nvidia/nvidia', image_uri=image_uri, instance_config=instance_config)
def hello_quantum():
# arka planı tanımlayın
device=get_job_device_arn()
cudaq.set_target(device.split('/')[-1])
#Bell devresini tanımlayın
kernel = cudaq.make_kernel()
qubits = kernel.qalloc(2)
kernel.h(qubits[0])
kernel.cx(qubits[0], qubits[1])
# Bell devresini örnekleyin
result = cudaq.sample(kernel, shots_count=1000)
measurement_probabilities = dict(result.items())
return measurement_probabilities
CUDA-Q simülatör arka planını bir cihaz olarak, CUDA-Q Braket konteyner imajını ve hesaplama için erişilecek GPU’ları belirten bir örnek oluşturabilirsiniz. Bu örnekte, bir NVIDIA V100 Tensor Core GPU kullanılmaktadır. Daha fazla bilgi almak için Amazon Braket Kotaları sayfasını ziyaret edebilir ve aynı zamanda /amazon-braket GitHub deposundaki not defterlerini inceleyerek CUDA-Q kodunu birden fazla GPU simüle edilmiş QPU’lara paralel hale getirmenin yollarını keşfedebilirsiniz.
Braket’in mevcut QPU arka uçlarından birine erişim sağlamak için prosedür benzerdir. İlk adım, Braket üzerinden bir hedef QPU tanımlamaktır. Aşağıdaki kod, IQM’nin Garnet süper iletken QPU’sunu belirtmektedir:
device_arn = "arn:aws:braket:eu-north-1::device/qpu/iqm/Garnet"
QPU daha sonra hibrit işi için bir cihaz olarak belirtilir.
@hybrid_job(device=device_arn, image_uri=image_uri)
Diğer değişiklik sadece CUDA-Q hedefinin braket
olarak değiştirilmesidir. Ayrıca machine parametresi değiştirilmeden cihaz olarak ayarlanmalıdır.
# arka planı tanımlayın
device=get_job_device_arn()
cudaq.set_target("braket", machine=device)
Hibrit işler, QPU’lara öncelikli erişim alır ve bu da deney sürelerini azaltır ve sonuçların iyileştirilmesine yardımcı olur.
Bugün Başlayın
NVIDIA ve AWS, araştırmacılar ve geliştiriciler için hızlandırılmış kuantum süper bilgisayarları için gerekli araçlara erişimi kolaylaştıracak bir iş birliği yapmaktadır. CUDA-Q ve Amazon Braket entegrasyonu, kullanıcıların güçlü GPU hesaplama kaynaklarına ve çok çeşitli QPU’lara erişimini giderek daha da kolaylaştırmaktadır. Artık kullanıcılar, CUDA-Q’nun performansını ve Amazon Braket’in esnekliğini bir arada deneyimleyebilirler.
Yeni CUDA-Q Braket arka ucunu denemekle ilgileniyorsanız, CUDA-Q’yu indirin ve AWS ve NVIDIA ile Kuantum Bilgisayarı Araştırmalarını Geliştirme makalesine göz atın.
AWS müşterileri, Amazon Braket deneyimi içerisinde CUDA-Q’dan yararlanmak için başlama yolunu öğrenebilirler. Daha fazla bilgi almak için AWS Braket belgeleri sayfasını ziyaret etmeleri yeterlidir. Daha sofistike hibrit işlerin nasıl çalıştırılacağı hakkında ayrıntılı bilgiler ve örnekler için ise /amazon-braket GitHub reposunu inceleyebilirsiniz.