Buat Job Hybrid pertama Anda - Amazon Braket

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Buat Job Hybrid pertama Anda

Bagian ini menunjukkan kepada Anda cara membuat Job Hybrid menggunakan skrip Python. Atau, untuk membuat pekerjaan hybrid dari kode Python lokal, seperti lingkungan pengembangan terintegrasi pilihan Anda (IDE) atau notebook Braket, lihat. Menjalankan kode lokal Anda sebagai pekerjaan hibrida

Tetapkan izin

Sebelum Anda menjalankan pekerjaan hybrid pertama Anda, Anda harus memastikan bahwa Anda memiliki izin yang cukup untuk melanjutkan tugas ini. Untuk menentukan bahwa Anda memiliki izin yang benar, pilih Izin dari menu di sisi kiri Konsol Braket. Halaman Manajemen Izin untuk Amazon Braket membantu Anda memverifikasi apakah salah satu peran yang ada memiliki izin yang cukup untuk menjalankan pekerjaan hibrida atau memandu Anda melalui pembuatan peran default yang dapat digunakan untuk menjalankan pekerjaan hibrida jika Anda belum memiliki peran seperti itu.

Halaman izin dan pengaturan untuk layanan Amazon Braket yang menampilkan peran dan opsi terkait layanan untuk memverifikasi peran yang ada untuk peran eksekusi Hybrid Jobs.

Untuk memverifikasi bahwa Anda memiliki peran dengan izin yang cukup untuk menjalankan pekerjaan hibrida, pilih tombol Verifikasi peran yang ada. Jika ya, Anda mendapat pesan bahwa peran itu ditemukan. Untuk melihat nama peran dan perannyaARNs, pilih tombol Tampilkan peran.

Izin Amazon Braket dan layar pengaturan yang menampilkan peran terkait layanan yang ditemukan dan peran yang ada dengan izin yang memadai untuk menjalankan pekerjaan hibrida.

Jika Anda tidak memiliki peran dengan izin yang cukup untuk menjalankan pekerjaan hibrida, Anda mendapatkan pesan bahwa peran tersebut tidak ditemukan. Pilih tombol Buat peran default untuk mendapatkan peran dengan izin yang memadai.

Izin Amazon Braket dan halaman setelan yang menunjukkan peran terkait layanan ditemukan dan tidak ada peran eksekusi pekerjaan hibrida yang ditemukan.

Jika peran berhasil dibuat, Anda mendapatkan pesan yang mengonfirmasi hal ini.

Halaman izin dan pengaturan Amazon Braket yang menampilkan peran terkait layanan ditemukan dan peran eksekusi pekerjaan Hybrid berhasil dibuat.

Jika Anda tidak memiliki izin untuk mengajukan pertanyaan ini, Anda akan ditolak aksesnya. Dalam hal ini, hubungi internal Anda AWS administrator.

AccessDenied pesan kesalahan yang menunjukkan pengguna tidak berwenang untuk melakukan iam: ListAttachedRolePolicies pada AmazonBraketJobsExecutionRole dengan penyangkalan eksplisit.

Buat dan jalankan

Setelah Anda memiliki peran dengan izin untuk menjalankan pekerjaan hibrida, Anda siap untuk melanjutkan. Bagian kunci dari pekerjaan hybrid Braket pertama Anda adalah skrip algoritma. Ini mendefinisikan algoritma yang ingin Anda jalankan dan berisi logika klasik dan tugas kuantum yang merupakan bagian dari algoritma Anda. Selain skrip algoritme Anda, Anda dapat menyediakan file ketergantungan lainnya. Skrip algoritma bersama dengan dependensinya disebut modul sumber. Titik masuk mendefinisikan file atau fungsi pertama yang dijalankan di modul sumber Anda saat pekerjaan hybrid dimulai.

Diagram yang menunjukkan alur kerja pembuatan pekerjaan kuantum menggunakan konsol atau notebook, menjalankan skrip algoritme pada perangkat kuantum, dan menganalisis hasil.

Pertama, pertimbangkan contoh dasar berikut dari skrip algoritme yang menciptakan lima status lonceng dan mencetak hasil pengukuran yang sesuai.

import os from braket.aws import AwsDevice from braket.circuits import Circuit def start_here(): print("Test job started!") # Use the device declared in the job script device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"]) bell = Circuit().h(0).cnot(0, 1) for count in range(5): task = device.run(bell, shots=100) print(task.result().measurement_counts) print("Test job completed!")

Simpan file ini dengan nama algorithm_script.py di direktori kerja Anda saat ini di notebook Braket atau lingkungan lokal Anda. File algorithm_script.py memiliki start_here() titik masuk yang direncanakan.

Selanjutnya, buat file Python atau notebook Python di direktori yang sama dengan file algorithm_script.py. Skrip ini memulai pekerjaan hybrid dan menangani pemrosesan asinkron apa pun, seperti mencetak status atau hasil utama yang kami minati. Minimal, skrip ini perlu menentukan skrip pekerjaan hybrid dan perangkat utama Anda.

catatan

Untuk informasi selengkapnya tentang cara membuat buku catatan Braket atau mengunggah file, seperti file algorithm_script.py, di direktori yang sama dengan notebook, lihat Menjalankan sirkuit pertama Anda menggunakan Amazon Braket Python SDK

Untuk kasus pertama dasar ini, Anda menargetkan simulator. Jenis perangkat kuantum apa pun yang Anda targetkan, simulator atau unit pemrosesan kuantum aktual (QPU), perangkat yang Anda tentukan device dalam skrip berikut digunakan untuk menjadwalkan pekerjaan hibrida dan tersedia untuk skrip algoritme sebagai variabel lingkungan. AMZN_BRAKET_DEVICE_ARN

catatan

Anda hanya dapat menggunakan perangkat yang tersedia di Wilayah AWS dari pekerjaan hybrid Anda. Amazon Braket SDK auto memilih ini Wilayah AWS. Misalnya, pekerjaan hybrid di us-east-1 dapat digunakan IonQ, SV1, DM1, dan TN1 perangkat, tetapi tidak Rigetti perangkat.

Jika Anda memilih komputer kuantum alih-alih simulator, Braket menjadwalkan pekerjaan hibrida Anda untuk menjalankan semua tugas kuantum mereka dengan akses prioritas.

from braket.aws import AwsQuantumJob from braket.devices import Devices job = AwsQuantumJob.create( Devices.Amazon.SV1, source_module="algorithm_script.py", entry_point="algorithm_script:start_here", wait_until_complete=True )

Parameter wait_until_complete=True menetapkan mode verbose sehingga pekerjaan Anda mencetak output dari pekerjaan yang sebenarnya saat sedang berjalan. Anda akan melihat output yang mirip dengan contoh berikut.

job = AwsQuantumJob.create( Devices.Amazon.SV1, source_module="algorithm_script.py", entry_point="algorithm_script:start_here", wait_until_complete=True, ) Initializing Braket Job: arn:aws:braket:us-west-2:<accountid>:job/<UUID> ......................................... . . . Completed 36.1 KiB/36.1 KiB (692.1 KiB/s) with 1 file(s) remaining#015download: s3://braket-external-assets-preview-us-west-2/HybridJobsAccess/models/braket-2019-09-01.normal.json to ../../braket/additional_lib/original/braket-2019-09-01.normal.json Running Code As Process Test job started!!!!! Counter({'00': 55, '11': 45}) Counter({'11': 59, '00': 41}) Counter({'00': 55, '11': 45}) Counter({'00': 58, '11': 42}) Counter({'00': 55, '11': 45}) Test job completed!!!!! Code Run Finished 2021-09-17 21:48:05,544 sagemaker-training-toolkit INFO Reporting training SUCCESS
catatan

Anda juga dapat menggunakan modul yang dibuat khusus dengan AwsQuantumJobmetode.create dengan meneruskan lokasinya (baik jalur ke direktori atau file lokal, atau S3 URI dari file tar.gz). Untuk contoh kerja, lihat Parallelize_TRAINING_FOR_ QML .ipynb file di folder pekerjaan hybrid di contoh Amazon Braket repo Github.

Memantau hasil

Atau, Anda dapat mengakses output log dari Amazon CloudWatch. Untuk melakukan ini, buka tab Grup log di menu kiri halaman detail pekerjaan, pilih grup logaws/braket/jobs, lalu pilih aliran log yang berisi nama pekerjaan. Dalam contoh di atas, ini adalahbraket-job-default-1631915042705/algo-1-1631915190.

CloudWatch grup log yang menampilkan daftar peristiwa log dengan jalur file dan stempel waktu untuk pengujian Amazon Braket PythonSDK.

Anda juga dapat melihat status pekerjaan hybrid di konsol dengan memilih halaman Pekerjaan Hybrid dan kemudian memilih Pengaturan.

Detail pekerjaan hybrid Amazon Braket yang menampilkan ringkasan, waktu kejadian, kode sumber dan konfigurasi instans, serta kondisi penghentian.

Pekerjaan hybrid Anda menghasilkan beberapa artefak di Amazon S3 saat berjalan. Nama bucket S3 default adalah amazon-braket-<region>-<accountid> dan isinya ada di jobs/<jobname>/<timestamp> direktori. Anda dapat mengkonfigurasi lokasi S3 di mana artefak ini disimpan dengan menentukan yang berbeda code_location ketika pekerjaan hybrid dibuat dengan Python Braket. SDK

catatan

Bucket S3 ini harus terletak di tempat yang sama Wilayah AWS sebagai naskah pekerjaan Anda.

jobs/<jobname>/<timestamp>Direktori berisi subfolder dengan output dari skrip titik masuk dalam model.tar.gz file. Ada juga direktori bernama script yang berisi artefak skrip algoritme Anda dalam sebuah source.tar.gz file. Hasil dari tugas kuantum Anda yang sebenarnya ada di direktori bernamajobs/<jobname>/tasks.