ปริมาณควอนตัมคืออะไร?

ปริมาณควอนตัมคืออะไร?

เครดิตฟรี

วันนี้เราได้ประกาศว่าทีม IBM Quantum บรรลุ Quantum Volume ที่ 64 ในระบบที่ปรับใช้ระบบใดระบบหนึ่ง นี่เป็นก้าวสำคัญที่น่าตื่นเต้น แต่การวัดปริมาณควอนตัมอาจไม่ชัดเจนแม้แต่กับผู้ที่รู้วิธีเขียนโปรแกรมคอมพิวเตอร์ควอนตัม ปริมาณควอนตัมคืออะไรและคุณคำนวณได้อย่างไร

สล็อต

ปริมาณควอนตัมเป็นตัวเลขเดียวที่ใช้เพื่อสรุปประสิทธิภาพของคอมพิวเตอร์ควอนตัมในปัจจุบัน เช่น จำนวนทรานซิสเตอร์ของคอมพิวเตอร์คลาสสิก ทีมงาน IBM มีโรดแมปมุ่งมั่นที่จะเพิ่มปริมาณควอนตัมของอุปกรณ์อย่างน้อยสองเท่าทุกปีคล้ายกับที่กฎของมัวร์ได้ผลักดันให้มีการนับทรานซิสเตอร์คอมพิวเตอร์คลาสสิกเพิ่มขึ้นเป็นสองเท่าทุกๆ สองปี ทีมงาน IBM เป็นไปตามกำหนดเวลาด้วยการประกาศ Quantum Volume 64 ซึ่งเป็นครั้งที่สี่ที่ทีมได้เพิ่มปริมาณ Quantum เป็นสองเท่าในหลายปีที่ผ่านมา
อย่างแรกเลย ในกรณีที่คุณยังใหม่กับที่นี่: คอมพิวเตอร์ควอนตัมเป็นอุปกรณ์ชนิดหนึ่งที่ใช้กฎทางคณิตศาสตร์ที่อะตอมเชื่อฟัง เรียกว่า กลศาสตร์ควอนตัม เพื่อจัดเก็บและจัดการข้อมูล คอมพิวเตอร์เหล่านี้ใช้วงจรควอนตัม ซึ่งเหมือนกับวงจรลอจิกของคอมพิวเตอร์คลาสสิก แต่รวมเอาหลักการทางกลควอนตัมของการซ้อนทับ การพัวพัน และการรบกวน เพื่อทำการคำนวณนอกขอบเขตสำหรับซูเปอร์คอมพิวเตอร์ที่ล้ำหน้าที่สุดในปัจจุบัน คอมพิวเตอร์ควอนตัมแสดงข้อมูลนี้เป็นสถานะควอนตัมของระบบวิศวกรรมที่เรียกว่า qubits ย่อมาจาก quantum bits และจัดการ qubits เหล่านี้โดยเชื่อมโยงเข้ากับวงจรควอนตัมโดยใช้การดำเนินการควอนตัม เรียกว่า quantum gates
ทีม IBM ได้แนะนำเมตริกปริมาณควอนตัมโดยเฉพาะเนื่องจากการนับทรานซิสเตอร์ของคอมพิวเตอร์แบบคลาสสิกและการนับบิตควอนตัมของคอมพิวเตอร์ควอนตัมไม่เหมือนกัน Qubits decohere วันนี้ลืมข้อมูลควอนตัมที่ได้รับมอบหมายในเวลาไม่ถึงมิลลิวินาที คอมพิวเตอร์ควอนตัมที่มีคิวบิตน้อย ข้อผิดพลาดต่ำ เชื่อมต่อสูง และปรับขนาดได้ อาจทำให้เราเข้าใกล้เป้าหมายของคอมพิวเตอร์ควอนตัมสากลที่ทนทานต่อข้อผิดพลาดมากขึ้น ซึ่งเป็นเครื่องหนึ่งที่สามารถทำอัลกอริธึมควอนตัมขั้นสูงและการจำลองระดับโมเลกุลอันทรงพลังได้ มากกว่าอุปกรณ์ ด้วย qubits ที่มีเสียงดังมากโดยเฉพาะอย่างยิ่งจะเกิดข้อผิดพลาด
โปรโตคอลปริมาณควอนตัมจะทดสอบว่าคอมพิวเตอร์ควอนตัมสามารถเรียกใช้วงจรที่ประกอบด้วยประตูสองคิวบิตแบบสุ่มที่ทำหน้าที่ขนานกันบนเซตย่อยของคิวบิตของอุปกรณ์ได้ดีเพียงใด วงจรเหล่านี้มีความกว้าง ซึ่งหมายถึงจำนวน qubits ที่เกี่ยวข้อง และความลึก ซึ่งหมายถึงจำนวนขั้นตอนเวลาที่ไม่ต่อเนื่องในระหว่างที่วงจรสามารถเรียกใช้เกตก่อน qubits ถอดรหัสได้ โปรโตคอลนี้อนุญาตให้คอมพิวเตอร์ควอนตัมเขียนใหม่หรือ “แปลง” วงจรให้เป็นวงจรที่สามารถทำงานได้จริงตามเกตที่มีอยู่และวิธีการเชื่อมต่อ qubits ของมัน โปรโตคอล Quantum Volume ระบุวงจรรูปสี่เหลี่ยมจัตุรัสที่ใหญ่ที่สุด ซึ่งเป็นวงจรที่มีความกว้างและความลึกเท่ากัน ซึ่งสามารถเรียกใช้บนอุปกรณ์ควอนตัมที่กำหนด
วงจรควอนตัมสามารถส่งออกสตริงบิตที่แตกต่างกันได้หลายแบบ รวมทั้งโฮสต์ของสตริงบิตที่คาดไว้และสตริงที่ไม่ได้ตั้งใจซึ่งเกิดจากข้อผิดพลาดของคิวบิต โปรโตคอลกำหนดว่าคอมพิวเตอร์ควอนตัมที่รันวงจรที่กำหนดกำลังส่งออกสตริงบิตที่ถูกต้องโดยใช้ “ปัญหาการสร้างเอาต์พุตหนัก” หรือไม่ ซึ่งจะเป็นดังนี้: สตริงเอาต์พุตที่ถูกต้องของวงจรแต่ละอันมีความน่าจะเป็นที่เกี่ยวข้องที่คุณจะวัดได้ คุณสามารถหาค่าความน่าจะเป็นมัธยฐานจากชุดของความน่าจะเป็นนั้น และ “เอาต์พุตหนัก” ของวงจรคือสตริงทั้งหมดที่ความน่าจะเป็นของการวัดค่าเหล่านั้นมากกว่าค่าความน่าจะเป็นมัธยฐาน ขั้นแรก โปรโตคอลต้องจำลองวงจรบนคอมพิวเตอร์แบบคลาสสิกเพื่อรวบรวมเอาท์พุตจำนวนมาก จากนั้น คุณเรียกใช้วงจรหลายครั้งบนอุปกรณ์ที่คุณต้องการวัดประสิทธิภาพ เพิ่มความลึกและความกว้างของวงจรทีละรายการ แล้วเรียกใช้อีกครั้ง กระบวนการหยุดที่ความลึกสูงสุดและความกว้างที่สอดคล้องกัน ซึ่งความน่าจะเป็นของการวัดเอาต์พุตหนักใดๆ บนอุปกรณ์นั้นมากกว่าสองในสามโดยมีช่วงความเชื่อมั่นมากกว่า 97.725% โดยพื้นฐานแล้ว คุณต้องรันวงจรให้เพียงพอ เพื่อให้แน่ใจว่าการวัดของคุณจะไม่ใช่เรื่องบังเอิญ
สุดท้าย เพิ่มพลัง 2 เท่าของความลึกสุดท้าย และบูม นั่นคือปริมาณควอนตัมของคุณ จุดประสงค์ของขั้นตอนสุดท้ายนี้คือเพื่อให้เข้าใจถึงความสมบูรณ์ของสถานะควอนตัมที่คุณเข้าถึงได้ และยิ่งไปกว่านั้น เวลาที่ใช้ในการจำลองวงจรนี้ด้วยคอมพิวเตอร์แบบคลาสสิกจะขยายประมาณ 2 เท่าโดยเพิ่มเป็นจำนวน qubits
ตัวอย่างเช่น สมมติว่าคุณมีคอมพิวเตอร์ควอนตัม 27 บิต คุณตั้งค่าวงจรสุ่มสองควิบิตที่มีความลึกสอง รันหลายครั้ง และการทดสอบประสบความสำเร็จ — เอาต์พุตสตริงหนักๆ ที่มีความน่าจะเป็นมากกว่าสองในสามและมีช่วงความเชื่อมั่นมากกว่า 97.725% คุณทำซ้ำด้วยสาม qubits ที่ระดับความลึกสาม สี่ qubits ที่ระดับความลึกสี่ ห้า qubits ที่ระดับความลึก 5 และ 6 qubits ที่ระดับความลึก 6 และการทดสอบยังคงทำงาน หากคุณเลื่อนได้ถึงเจ็ด qubits ด้วยวงจรที่มีความลึกเจ็ดและการทดสอบล้มเหลว ปริมาตรของควอนตัมคือ 2⁶ หรือ 64
IBM ประสบความสำเร็จในการทดสอบนี้เพื่อให้ได้ Quantum Volume ที่ 64 ในระบบ 27 qubit “Montreal” และการทดสอบก็ไม่จำเป็นต้องสร้างอุปกรณ์ใหม่ด้วยซ้ำ ทีมงานได้รวมการปรับปรุงคอมไพเลอร์ Qiskit ปรับปรุงการสอบเทียบเกทสองคิวบิตและออกการอัพเกรดการจัดการเสียงรบกวนและการอ่านตามการปรับแต่งพัลส์ไมโครเวฟและเกตก่อนที่จะนำไปใช้ในวงจร คุณสามารถอ่านเอกสารที่มีรายละเอียดความสำเร็จบนเซิร์ฟเวอร์การพิมพ์ล่วงหน้า arXiv
คุณสามารถเรียกใช้การทดสอบ Quantum Volume ได้ด้วยตัวเองใน Qiskit ตามที่อธิบายไว้ในLearn Quantum Computation โดยใช้ตำราQiskitแต่เพื่อสรุป: คุณเริ่มต้นด้วยการระบุชุดย่อยของ qubit ที่คุณต้องการทำการทดสอบ จากนั้นสร้างแบบสุ่ม วงจรที่ใช้คิวบิตเหล่านี้ คุณใช้โปรแกรมจำลอง qasmเพื่อกำหนดว่าเอาต์พุตจำนวนมากคืออะไร คุณเรียกใช้วงจรอีกครั้งบนคอมพิวเตอร์ควอนตัม (หรือเครื่องจำลองที่มีการเพิ่มแบบจำลองสัญญาณรบกวน) และคำนวณความน่าจะเป็นของการวัดสตริงเอาต์พุตจำนวนมากและช่วงความเชื่อมั่น

สล็อตออนไลน์

สิ่งสำคัญที่ควรทราบคือ แม้ว่าปริมาณควอนตัมจะเป็นเมตริกที่ IBM เลือกใช้สำหรับการเปรียบเทียบคอมพิวเตอร์ควอนตัม แต่ก็ไม่ได้จับความซับซ้อนทั้งหมดของอุปกรณ์ควอนตัม เช่น การทำงานของทุก qubit ในอุปกรณ์ นั่นเป็นเหตุผลที่ทีม IBM เผยแพร่การวัดเพิ่มเติมมากมายสำหรับแต่ละอุปกรณ์และระบบ นอกจากนี้ ในที่สุดเราจะต้องอัปเดตเมตริกปริมาณควอนตัมเมื่อคอมพิวเตอร์ควอนตัมซับซ้อนเกินไปที่จะหาเอาต์พุตจำนวนมากแบบคลาสสิก การอัปเดตดังกล่าวน่าจะอาศัยการขยายวงจรของ Clifford ซึ่งเกี่ยวข้องกับส่วนย่อยของเกตเท่านั้นที่สามารถจำลองได้อย่างมีประสิทธิภาพด้วยคอมพิวเตอร์คลาสสิก
หวังว่านี่จะแสดงให้เห็นสองสิ่ง: หนึ่ง ปริมาณควอนตัมเป็นเมตริกที่มีประโยชน์ในการเปรียบเทียบคอมพิวเตอร์ควอนตัมในปัจจุบัน และสองอย่างที่เรายังอยู่ในช่วงแรกๆ ของการคำนวณควอนตัม ซึ่งเป็นความท้าทายที่จะได้คิวบิตมากกว่าหนึ่งกำมือในการทำงาน วงจรยาว แต่นั่นเป็นส่วนหนึ่งของเรื่องราวทั้งหมด การย้ายจากปริมาณควอนตัมที่ 32 เป็น 64 จำเป็นต้องดูอุปกรณ์ของเราเป็นระบบที่เราปรับแต่งทุกอย่างที่โต้ตอบกับ qubits จากคอมไพเลอร์ไปจนถึงรูปร่างของคลื่นไมโครเวฟที่เราส่ง qubits การปรับปรุงทุกส่วนของระบบเหล่านี้ ตั้งแต่ตัวชิปเองไปจนถึงโค้ดที่ใช้ในการรัน จะมีบทบาทสำคัญอย่างยิ่งเมื่อคอมพิวเตอร์ควอนตัมเติบโตเต็มที่
สิ่งอื่นๆประกอบด้วยที่เก็บที่เริ่มต้น แต่ส่วนใหญ่จะถูกเก็บถาวร การใช้งาน Javascript ของส่วนต่างๆ ของ Qiskit GUI สำหรับการทดลองกับอัลกอริธึมการแสดงที่เข้ารหัสในช่วงต้นของประวัติ Qiskit เป็นต้น. ที่เก็บข้อมูลใหม่อาจปรากฏขึ้น ที่เก็บข้อมูลเก่าอาจฟื้นขึ้นมาได้ — คุณอาจเป็นผู้เขียนโค้ดที่ชุบชีวิตขึ้นมาใหม่ เราไม่รู้ว่าเราจะไปที่ไหนเพราะเราไม่เคยไปที่นั่นมาก่อน
นอกจากนี้ยังมีqiskit ชุมชนพื้นที่เก็บข้อมูลที่มีผลงานยอดเยี่ยมจากนอกโครงการรวมทั้งหาที่เปรียบมิได้qiskit ตำรา
Qiskit Core
หากคุณกำลังจะแฮ็คบน Qiskit คุณเริ่มต้นด้วยการforkingที่เก็บ Qiskit ต่อไปนี้:
Qiskitเป็นชื่อของที่เก็บเฉพาะในโครงการ Qiskit ส่วนใหญ่เป็นตัวโหลดสำหรับคนอื่น ๆ เพื่อให้ผู้ใช้สามารถทำpip install qiskitและดึงโค้ดที่ใช้งานได้จริง
Terraเป็นโครงสร้างสถาปัตยกรรมสำหรับเตรียมการคำนวณควอนตัมและประมวลผลบนอุปกรณ์ฮาร์ดแวร์หรือเครื่องจำลอง มันคือคณิตศาสตร์ มันคือการรวบรวม มันคือการควบคุมงาน มันคือการควบคุมชีพจร และมันมีสิ่งอำนวยความสะดวกในการแสดงภาพจำนวนหนึ่ง แบ็กเอนด์เป้าหมาย ไม่ว่าจะเป็นฮาร์ดแวร์หรือแบบจำลอง สามารถใช้แทนกันได้: Terra เองมีตะขอสำหรับแบ็กเอนด์ต่างๆ ไม่ว่าจะเป็นของ IBM หรือของบุคคลที่สาม ตัวอย่างของการเป็นผู้ให้บริการแบ็กเอนด์ของบุคคลที่สามสำหรับ Qiskit เป็นควอนตัมสร้างแรงบันดาลใจ
Aerเป็นโปรแกรมจำลองแบ็กเอนด์สำหรับ Terra หรือจะเรียกว่าเป็นชุดอุปกรณ์จำลองสถานการณ์ ทั้งแบบใช้ CPU และ GPU มันทำงานบนเวิร์กสเตชันของคุณ มีโปรแกรมจำลองอื่นในระบบคลาวด์ที่คุณสามารถเข้าถึงได้ผ่านผู้ให้บริการ IBM Q (ด้านล่าง) และอื่นๆ ที่เสนอผ่านผู้ให้บริการบุคคลที่สาม
Ignisเป็นไลบรารีสถิติสำหรับการกำหนดลักษณะและการแก้ไขควอนตัมข้อผิดพลาด
Aquaเป็นระดับอัลกอริธึมสูงสุดที่นำเสนอโดย Qiskit Aqua นำเสนออัลกอริธึมการจัดแสดง แต่โดยพื้นฐานแล้ว มันคือเฟรมเวิร์กระดับบนสุดซึ่งจะใช้เข้ารหัส “พื้นฐาน” ในท้ายที่สุดของแอปพลิเคชันการคำนวณควอนตัมที่ส่งมอบได้

jumboslot

ในที่เก็บหลัก สาขาที่อยู่ระหว่างการพัฒนามักจะเป็นmasterสาขา แม้ว่าสาขาอื่นๆ อาจถูกสร้างขึ้นเมื่อมีการเตรียมการเปลี่ยนแปลงที่สำคัญ masterถ้าคุณกำลังทำงานเกี่ยวกับปัญหาคุณจะมักจะทำงานใน หากคุณสนใจที่จะช่วยเหลือในการเปลี่ยนแปลงโค้ดครั้งใหญ่ คุณอาจได้รับเชิญจากทีมให้ทำงานในสาขาอื่น
ทรัพยากรเอกสาร
มีโน๊ตบุ๊ค Jupyter บนพื้นฐานของควอนตัมคอมพิวเตอร์
วิธีการทำงานของคุณผ่านทาง“ ตำรา” เรียนรู้การคำนวณโดยใช้ควอนตัม Qiskitในเวลาว่างของคุณ นี่เป็นอีกชุดของโน้ตบุ๊ก Jupyter ที่ทำงานบน IBM Quantum Experience โปรดทราบว่าคุณจะใช้เวลามากกว่าหนึ่งสัปดาห์ในการอ่านหนังสือเรียน (อาจเป็นเดือน) อย่าปล่อยให้มันหยุดคุณไม่ให้เขียนโค้ดทันที!
รหัสระดับเอกสาร Qiskit อยู่ที่นี่ มีบทแนะนำสั้นๆ เกี่ยวกับการทำงานกับ Qiskit การอ้างอิง API ก็อยู่ที่นั่นเช่นกัน แต่เป็นระดับสูงและสร้างโดยอัตโนมัติจากความคิดเห็นเกี่ยวกับโค้ด ดังนั้นคุณจะต้องเจาะลึกลงไปอีกเพื่อแฮ็คโค้ด รหัสเป็นเอกสารที่ดีที่สุดเสมอ
แหล่งข้อมูลความช่วยเหลือออนไลน์
แหล่งข้อมูลความช่วยเหลือออนไลน์หลักสำหรับการทำงานกับ Qiskit มีดังต่อไปนี้:
Qiskit Slackเป็นที่ที่ทีม Qiskit และชุมชน Qiskit พบปะสังสรรค์กัน และทุกคนก็ช่วยเหลือซึ่งกันและกัน
Quantum Computing Stack Exchangeเป็นที่ที่นักวิทยาศาสตร์ได้พบปะและตอบคำถามเชิงลึก
Qiskit บน YouTube
รับที่เก็บ Forked
เราจะติดตั้ง Qiskit รีลีสปัจจุบันในสภาพแวดล้อมเสมือน จากนั้นติดตั้งอีกครั้งด้วยตนเองที่ด้านบนของการติดตั้งรีลีสจากที่เก็บการพัฒนาแบบแยกส่วน เราต้องการที่เก็บแบบแยกส่วนเพื่อให้เราสามารถแยกสาขาสำหรับการสนับสนุนของเราได้ เช่น การแก้ไขจุดบกพร่อง
เพื่อเปิดใช้งานในหน้าต่างเชลล์ใหม่ในสภาพแวดล้อมเสมือนเพื่อให้คุณมีการติดตั้งที่ปลายนิ้วของคุณ
และถ้าคุณต้องการ “กระโดดออกจาก” สภาพแวดล้อมเสมือนนั้นในเชลล์ที่เปิดใช้งานไว้ เพียงพิมพ์deactivateแล้วระบบจะ “หายไป” จากอินสแตนซ์ของเชลล์นั้นและกู้คืนสภาพแวดล้อมเชลล์ของคุณเพื่อเปิดใช้งานล่วงหน้า
อย่าลังเลที่จะติดตั้งเครื่องมืออื่นๆ ใน env เสมือนที่คุณสร้างขึ้น เช่นspyderตัวแก้ไข/IDE ของ Python ระดับโลก หรือติดตั้งspyderทั่วโลก ( pip3 install spyderแน่นอน)
[NPC5]หมายเหตุ
หากคุณสลับสาขาในโปรเจ็กต์ Qiskit คุณอาจต้องสร้างใหม่เพื่อให้แน่ใจว่าสิ่งที่ติดตั้งในสาขานั้นเป็นงานปัจจุบันของคุณ
คำแนะนำของทีม Qiskit คือการติดตั้ง git checkout ในพื้นที่ของคุณลงใน venv ด้วยpip -e .(“dot” สำหรับ “โปรเจ็กต์ที่รูทในไดเร็กทอรีปัจจุบัน” เช่นqiskit-terra) เหนือการติดตั้งที่คุณสร้างขึ้น pip -eเพียงแค่ใส่ลิงก์ไปยังองค์ประกอบที่ไม่ได้คอมไพล์ของโค้ดที่ชี้กลับไปที่แหล่งที่มาที่แก้ไขได้แบบสดของคุณ (เพราะฉะนั้น-eสำหรับ “แก้ไขได้”)
โดยทั่วไป ชุดกฎของฉันคือสิ่งนี้ (ความคิดเห็นต่างกัน): ติดตั้งก่อนด้วยการติดตั้งแบบเต็ม หลังจากนั้นใช้ install -e สำหรับอะไรก็ได้ที่ไม่ใช่ Aer ให้ทำการติดตั้งแบบเต็มสำหรับ Aer เสมอ หากคุณติดตั้งด้วย -e สำหรับ Terra และมีปัญหาลึกลับ ให้ทำการติดตั้งแบบเต็ม
หากคุณกำลังทำงานกับ qiskit-aer คุณจะต้องคอมไพล์โค้ดใหม่เพื่อแสดงการเปลี่ยนแปลงเนื่องจาก Aer ส่วนใหญ่เขียนด้วยภาษา C++ ซึ่งสามารถทำได้โดยเรียกใช้การติดตั้งแบบเต็มอีกครั้ง
และถ้าเกิดเรื่องแปลกๆ ขึ้นเมื่อคุณทำงานกับโค้ด ก็แค่ลบสภาพแวดล้อมเสมือนของคุณแล้วเริ่มใหม่อีกครั้ง