ต่อไปนี้เป็นวิธีทดสอบการแก้ไขข้อผิดพลาดบน IBM Quantum Computertum

ต่อไปนี้เป็นวิธีทดสอบการแก้ไขข้อผิดพลาดบน IBM Quantum Computertum

เครดิตฟรี

ตอนนี้เราอยู่ในโลกที่มีคอมพิวเตอร์ควอนตัม หลายคนอยู่บนคลาวด์และพร้อมใช้งาน ซึ่งต้องการมากกว่าการเชื่อมต่ออินเทอร์เน็ตเพียงเล็กน้อย แต่เราจะทำอะไรกับพวกเขาได้บ้าง?
อันดับแรก เราต้องเป็นจริงกับขอบเขตของเรา ไม่มีวิกฤตโลกจะแก้ไขได้ด้วยคอมพิวเตอร์ควอนตัมปัจจุบัน จะไม่มีโชคลาภเกิดขึ้น เมื่อคิดถึงอุปกรณ์ปัจจุบันเหล่านี้เป็นคอมพิวเตอร์ คุณต้องคิดว่าอุปกรณ์เหล่านี้เป็นคอมพิวเตอร์ที่แย่มาก จำนวน qubits ที่จำกัดหมายความว่าไม่สามารถทำอะไรได้มาก และผลกระทบของข้อผิดพลาดหมายความว่าพวกเขาทำได้ไม่ดีนัก

สล็อต

แต่เราสามารถคิดว่าอุปกรณ์เหล่านี้เป็นชิ้นส่วนของอุปกรณ์ฟิสิกส์ทดลองที่เราสามารถทำการทดสอบได้ จากมุมมองนั้น ขนาดและความแม่นยำนั้นน่าประทับใจมาก เราไม่เคยควบคุมระบบควอนตัมขนาดใหญ่เช่นนี้มาก่อน พวกเขาเป็นตัวแทนของเขตแดนของสิ่งที่เราได้สำรวจจากการทดลอง กับพวกเขา เรามีโอกาสที่จะทดสอบว่าทฤษฎีควอนตัมยังคงมีอยู่ในอาณาเขตที่ยังไม่ได้สำรวจนี้หรือไม่
ในปี 2559 IBM ได้มอบโอกาสนี้ให้กับโลก ในเวลานั้น ฉันทำงานที่มหาวิทยาลัยบาเซิล และได้ทำการวิจัยเกี่ยวกับการแก้ไขข้อผิดพลาดควอนตัมเป็นหลัก เพื่อให้แน่ใจว่าเราจะไม่สูญเสียข้อมูลควอนตัมต่อผลกระทบของสัญญาณรบกวนและการถอดรหัสควอนตัม ดังนั้นฉันจึงเริ่มสำรวจมุมเฉพาะของทฤษฎีควอนตัมนี้: หากเราใช้องค์ประกอบของการแก้ไขข้อผิดพลาดควอนตัมบนอุปกรณ์จริง อุปกรณ์เหล่านั้นจะทำงานตามที่เราคาดหวังหรือไม่
ฉันเขียนบทความเกี่ยวกับผลลัพธ์เหล่านั้น ปัจจุบันนี้เป็นหนึ่งในเอกสารมากกว่า 200 ฉบับที่เขียนโดยนักวิทยาศาสตร์ทั่วโลกซึ่งได้ทำการทดลองบนอุปกรณ์ควอนตัมของไอบีเอ็ม
การใช้คอมพิวเตอร์ควอนตัมต้นแบบสำหรับวิทยาศาสตร์เป็นสิ่งที่ง่ายกว่าเมื่อคุณเป็นนักวิทยาศาสตร์มืออาชีพ อย่างไรก็ตาม ด้วยทรัพยากรและเครื่องมือที่เหมาะสม นี่คือสิ่งที่ทุกคนสามารถทำได้เช่นกัน
นี่เป็นหนึ่งในแรงจูงใจหลักในการสร้างtopological_codesโมดูลใน Qiskit โมดูลนี้มีเครื่องมือพื้นฐานทั้งหมดที่คุณต้องการเพื่อสร้างการทดสอบทดลองของการแก้ไขข้อผิดพลาดควอนตัม โดยเฉพาะอย่างยิ่ง มันช่วยตั้งค่าและวิเคราะห์อินสแตนซ์ของที่เรียกว่า ‘รหัสซ้ำ’ ซึ่งเป็นตัวอย่างที่ง่ายที่สุดของบางสิ่งที่ใช้หลักการของการแก้ไขข้อผิดพลาดควอนตัมเพื่อเก็บข้อมูลและป้องกันจากข้อผิดพลาด รหัสการทำซ้ำใช้ qubit จริงหลายตัวเพื่อจำลองบิตเชิงตรรกะ แทนที่จะเป็น qubit เชิงตรรกะ ในการจัดเก็บเพียงเล็กน้อย คุณเพียงแค่ทำซ้ำค่าที่ต้องการหลายๆ ครั้ง เพื่อไม่ให้สำเนาส่วนใหญ่จะอ่านผิดเพี้ยนจากข้อผิดพลาด มันง่ายพอที่จะทำงานบนอุปกรณ์ปัจจุบัน และเคยเพื่อดูว่าแนวคิดของการแก้ไขข้อผิดพลาดควอนตัมทำงานได้ดีเพียงใด
ที่จะเห็นมันในการดำเนินการที่คุณสามารถอ่านส่วนที่เกี่ยวข้องของตำรา Qiskit คุณยังสามารถตรวจสอบกระดาษของเรา“ อุปกรณ์การเปรียบเทียบในระยะใกล้กับการแก้ไขข้อผิดพลาดของควอนตัม ” ที่เพิ่งได้รับการตีพิมพ์ในวารสารควอนตัมวิทยาศาสตร์และเทคโนโลยี
topological_codesจุดมุ่งหมายกระดาษนี้จะทำหน้าที่เป็นคำแนะนำเกี่ยวกับสิ่งที่ควอนตัมรหัสซ้ำทั้งหมดเกี่ยวกับการและวิธีการที่จะใช้พวกเขาด้วย นอกจากนี้ยังแสดงตัวอย่างซอฟต์แวร์ที่ใช้อยู่ โดยทำการทดสอบการแก้ไขข้อผิดพลาดควอนตัมที่ใหญ่ที่สุดที่ดำเนินการจนถึงขณะนี้: รหัสการทำซ้ำที่มี 43 qubits
หากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับทั้งหมดนี้ โปรดดูเอกสารนี้ มันถูกเขียนขึ้นสำหรับผู้ชมในวงกว้าง ดังนั้นจึงไม่เต็มไปด้วยเทคโนบับเบิ้ล นอกจากนี้ยังเป็นการเข้าถึงแบบเปิด ดังนั้นคุณจึงไม่ต้องกังวลเกี่ยวกับเพย์วอลล์
เพื่อให้คุณได้ลิ้มรสแล้วลองมาดูที่ผลบางอย่างจากอุปกรณ์ 53 คิวบิตเรียกว่าโรเชสเตอร์ ขออภัย อุปกรณ์เฉพาะนี้ไม่สามารถเข้าถึงได้โดยสาธารณะ แต่ฉันเข้าถึงได้ ดังนั้นฉันจึงอดไม่ได้ที่จะทดสอบ
ผลลัพธ์หลักคือการดูว่ารหัสการทำซ้ำที่มีขนาดต่างกันสามารถปกป้องข้อมูลได้ดีเพียงใด สำหรับสิ่งนี้ เราสร้างรหัสซ้ำและใช้เพื่อเก็บค่าบิต ( 0หรือ1) จากนั้นเราอ่านค่าบิตจากโค้ด ในโลกที่สมบูรณ์แบบ เราอ่านสิ่งที่เราใส่เข้าไปอย่างชัดเจน อย่างไรก็ตาม เนื่องจากข้อผิดพลาด บางครั้งสิ่งนี้จึงอาจผิดพลาดได้ ความน่าจะเป็นของสิ่งนี้เรียกว่า ‘ความน่าจะเป็นของข้อผิดพลาดเชิงตรรกะ’ ซึ่งเราใช้เป็นตัววัดหลักของเราว่าโค้ดทำงานได้ดีเพียงใด
ทฤษฎีการแก้ไขข้อผิดพลาดควอนตัมบอกเราว่าการสร้างโค้ดที่ใหญ่ขึ้นควรให้การป้องกันข้อผิดพลาดได้ดียิ่งขึ้น อันที่จริง เราควรพบว่าความน่าจะเป็นของข้อผิดพลาดเชิงตรรกะลดลงแบบทวีคูณ เรามาดูกันว่าเกิดอะไรขึ้นจริง
ที่นี่ ‘ระยะทางของโค้ด’ คือการวัดว่าโค้ดนั้นใหญ่แค่ไหน ดังนั้นเราจึงเห็นว่าความน่าจะเป็นของข้อผิดพลาดเชิงตรรกะลดลงตามขนาดของโค้ด และดำเนินการในลักษณะที่สอดคล้องกับการสลายแบบเอ็กซ์โพเนนเชียลที่เราคาดไว้ สิ่งนี้เป็นจริงไม่ว่าเราจะทำการทดสอบโดยเก็บค่าบิตเป็น0(สีน้ำเงิน) หรือ1(สีส้ม)
นอกจากนี้ เรายังได้ดูรายละเอียดบางส่วนของอุปกรณ์จริงที่นักทฤษฎีอย่างผมอาจลืมไปบ้างในบางครั้ง การสลายตัวของความน่าจะเป็นของข้อผิดพลาดเชิงตรรกะนั้นไม่ราบรื่น แต่เป็นหลุมเป็นบ่อ นี่เป็นเพราะความจริงที่ว่า qubits ที่แตกต่างกันได้รับข้อผิดพลาดประเภทต่าง ๆ และจุดแข็งที่แตกต่างกัน ดังนั้นหากการทำให้โค้ดของเราใหญ่ขึ้นหมายถึงการใช้ qubit ที่หลบๆ ซ่อนๆ บางอย่าง สิ่งต่างๆ อาจไม่ดีขึ้นเท่าที่เราต้องการ
นอกจากนี้เรายังเห็นว่าการเก็บ a ง่าย0กว่า a 1. เพราะนี่คือความจริงที่ว่าเราใช้จำนวนมากของ qubits ในรัฐ | 0 ⟩ในการเข้ารหัส0และมากในรัฐ | 1 1⟩การเข้ารหัส qubits ตัวนำยิ่งยวดที่เราใช้ต้องการให้อยู่ในสถานะ |0 ⟩ มากกว่าสถานะ |1 ⟩ ดังนั้นข้อผิดพลาดมากขึ้นทำให้ |1 ⟩ พลิกไปที่ |0 ⟩ มากกว่าในทางกลับกัน ผลลัพธ์ที่เราเห็นนั้นเป็นเพราะสิ่งนี้
คุณไม่จำเป็นต้องมี 53 qubits เพื่อรับข้อมูลเชิงลึกเช่นนี้ รหัสซ้ำสามารถเรียกใช้ได้เช่นกันใน 5 qubits หรือ 15 ซึ่งเป็นสิ่งที่มีให้ในอุปกรณ์สาธารณะ สามารถใช้เพื่อทดสอบว่าคุณสามารถจัดเก็บค่าบิตได้ดีเพียงใดหากคุณใช้เฉพาะ qubit ที่ดีที่สุด หรือข้อผิดพลาดจะมีผลกระทบมากน้อยเพียงใดหากคุณใช้ค่าที่แย่ที่สุด คุณสามารถเพิ่มเสียงพิเศษโดยใช้ลูกเล่นต่างๆ ดังต่อไปนี้
idประตูทำให้หยุดคิวบิตสำหรับช่วงเวลาและความเสี่ยงประสบบางปฏิสัมพันธ์จรจัดกับสภาพแวดล้อม
การทำเกตใดๆ แล้วเลิกทำทันทีจะทำให้คุณมีข้อผิดพลาดที่เกี่ยวข้องกับเกตนั้น (ตรวจสอบให้แน่ใจว่าได้ใส่ a barrierระหว่างนั้นเพื่อให้คอมไพเลอร์ไม่เพียงแค่ลบออก)
คุณยังสามารถเริ่มคิดหาวิธีใหม่ๆ ในการถอดรหัสผลลัพธ์ที่ออกมา และมีส่วนร่วมในtoplogical_codesโมดูลเพื่อให้คนอื่นๆ ใช้
โดยสรุป คุณสามารถเริ่มรับข้อมูลเชิงลึกว่าอุปกรณ์ของเราทำงานอย่างไรโดยการเรียกใช้รหัสซ้ำ คุณจะสามารถเห็นผลกระทบของข้อผิดพลาดและวิธีที่การแก้ไขข้อผิดพลาดสามารถจัดการกับข้อผิดพลาดเหล่านั้นได้ เมื่อเปรียบเทียบกับการจำลอง คุณจะสามารถตรวจสอบว่าอุปกรณ์เหล่านี้สามารถควบคุมได้จริงหรือไม่ในแบบที่เราต้องการเพื่อให้ได้คอมพิวเตอร์ควอนตัมที่ทนต่อข้อผิดพลาด

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

ไม่ว่าคุณจะเป็นนักเรียนมัธยมปลายหรือคนที่ทำโครงการวิจัยให้กับอาจารย์ คุณสามารถทำการทดสอบเชิงทดลองของฟิสิกส์ควอนตัมได้จากที่บ้านของคุณเอง ฮาร์ดแวร์และซอฟต์แวร์ทั้งหมดที่คุณต้องการนั้นฟรีและสามารถเข้าถึงได้ผ่าน IBM Quantum Experience
รุ่นนี้ยังมาพร้อมกับการเลิกใช้งานที่สำคัญ: ฟังก์ชันการวางแผนเชิงโต้ตอบจาก qiskit.visualization รวมถึง iplot_bloch_multivector, iplot_state_city, iplot_state_qsphere, iplot_state_hinton, iplot_histogram, iplot_state_paulivec ตอนนี้เป็นเพียงนามแฝงที่เลิกใช้แล้วสำหรับ matplot เชิงโต้ตอบที่เทียบเท่าอีกต่อไป เว็บไซต์ที่โฮสต์โค้ดจาวาสคริปต์ที่ฟังก์ชันเหล่านี้ใช้ถูกปิด ดังนั้นจึงหยุดทำงาน ไม่สามารถเลิกใช้งานตามปกติได้เนื่องจากไม่มีไซต์ที่พวกเขาพึ่งพาอยู่อีกต่อไป
ในที่สุด เราก็ปล่อย Qiskit 0.20.1; การอัปเดตนี้มีการแก้ไขจุดบกพร่องเป็นหลัก ซึ่งคุณสามารถตรวจสอบได้ในเอกสารบันทึกประจำรุ่น
เครื่องจำลอง
Qiskit รุ่นใหม่ล่าสุดรวมถึงการปรับปรุงประสิทธิภาพสำหรับเครื่องจำลองทั้งหมด สิ่งนี้ทำได้โดยการเพิ่มการสนับสนุนสำหรับเวกเตอร์ SIMD การประมาณในวิธีสถานะผลิตภัณฑ์เมทริกซ์ (MPS) ผ่านการตัดทอนมิติพันธะ การคำนวณค่าความคาดหวังของ Pauli ที่มีประสิทธิภาพยิ่งขึ้น และประสิทธิภาพในการแปลง Python ของวัตถุผลลัพธ์ C ++ ดีขึ้นอย่างมาก
ระบบบิลด์ได้รับการอัพเกรดเพื่อใช้ตัวจัดการแพ็คเกจ Conan C/C++ เพื่อจัดการการขึ้นต่อกันของ C++ ทั่วไปเมื่อทำการคอมไพล์บนระบบของคุณเอง นี่เป็นสิ่งสำคัญสำหรับผู้ที่ใช้ระบบ 32 บิต x86 หรือที่ไม่ใช่ x86 การอัปเดตนี้ควรทำให้ Aer สามารถติดตั้งบนระบบเหล่านี้ได้ง่ายขึ้น — แต่โปรดจับตาดูให้ดี เนื่องจากมีรายงานข้อบกพร่องจากผู้ที่พยายามสร้าง Aer จากแหล่งที่มา เนื่องจากการเปลี่ยนแปลงนี้จะเปลี่ยนแปลงวิธีการจัดการการขึ้นต่อกัน หากคุณพบปัญหาใดๆ เมื่อสร้าง Aer จากแหล่งที่มา โปรดเปิดตั๋วปัญหาเกี่ยวกับมันที่นี่
การบรรเทาข้อผิดพลาดและการจัดการเสียงรบกวน
ทีม Qiskit ปรับโครงสร้างโค้ดที่อยู่เบื้องหลังRandomized Benchmarking ใหม่เพื่อใช้คลาส Clifford ที่อัปเดตล่าสุด สิ่งนี้จะช่วยให้การเปรียบเทียบแบบสุ่มมีประสิทธิภาพมากขึ้นในลำดับของประตู Clifford ที่มีมากกว่าสอง qubits นอกจากนี้ฟังก์ชัน qiskit.ignis.verification.qv_circuits() ยังใช้คลาสไลบรารีวงจรQuantumVolumeเพื่อสร้างเอาต์พุต แทนที่จะสร้างวงจร Quantum Volume ตั้งแต่เริ่มต้น ซึ่งอาจนำไปสู่การเปลี่ยนแปลงเล็กน้อยในเอาต์พุตเมื่อเทียบกับเวอร์ชันก่อนหน้าของฟังก์ชัน
อัลกอริทึม
สำคัญที่สุดในการอัพเกรดอัลกอริทึมที่ผ่านมาคือการเพิ่มประสิทธิภาพ Qiskit โมดูลซึ่งคุณสามารถอ่านเพิ่มเติมเกี่ยวกับที่นี่ จะมีคุณสมบัติใหม่ที่น่าตื่นเต้นใน Qiskit 0.21.0; ในระหว่างนี้ ให้ดูบันทึกประจำรุ่นสำหรับการเปลี่ยนแปลงล่าสุดอื่นๆ
[NPC4]IBM Q Provider
สำหรับผู้ใช้ IBM Quantum Experience ระดับพรีเมียมของเรา IBM Q Provider รีลีสใหม่ล่าสุดมีวิธีการbookings()เพื่อส่งคืนข้อมูลการจองจากแบ็กเอนด์ นอกจากนี้ การใช้ Qconfig.py เพื่อบันทึกข้อมูลประจำตัว IBM Quantum Experience จะเลิกใช้แล้วและจะถูกลบออกในรุ่นถัดไป คุณควรใช้ qiskitrc (ค่าเริ่มต้น) แทน — ผู้ที่ใช้ Q Experience มานานกว่าสองปีควรตรวจสอบเพื่อให้แน่ใจว่าพวกเขาได้อัปเกรดแล้ว
นี่เป็นเพียงการอัปเกรดที่โดดเด่นที่สุดตามที่ทีม Qiskit เรียกใช้ แต่ยังมีฟีเจอร์ใหม่ๆ การอัปเดต การแก้ไขข้อบกพร่อง และการเลิกใช้งานอื่นๆ อีกมากมายในบันทึกประจำรุ่นที่นี่ ลองดูสิ!
ฉันเป็นนักเขียนวิทยาศาสตร์ ไม่ใช่โปรแกรมเมอร์ เมื่อฉันเข้าร่วมทีม Qiskit ฉันคิดว่าฉันแค่เขียนบล็อก ไม่ใช่ปรับปรุงชุมชน Qiskit จริงๆ ฉันคิดว่า “ทักษะใดที่นักเขียนที่สนใจในควอนตัมและมีประสบการณ์ในการเขียนโค้ดไพธอนเพียงเล็กน้อยสามารถช่วยบำรุงรักษาและอัปเดตชุดพัฒนาซอฟต์แวร์ควอนตัมได้ ฉันผิดไป. เพิ่งผ่านไปไม่กี่เดือนและฉันได้มีส่วนร่วมมากมาย ส่วนใหญ่โดยไม่ต้องเขียนโค้ดใดๆ
Qiskit เป็นมากกว่าชุดพัฒนาซอฟต์แวร์ Qiskit เป็นชุมชนระดับโลกของผู้ที่สนใจเกี่ยวกับควอนตัม ตั้งแต่อาจารย์จนถึงนักเรียนมัธยมปลาย ที่ไม่เพียงแต่ต้องการเรียนรู้วิธีเขียนโปรแกรมคอมพิวเตอร์ควอนตัมเท่านั้น แต่ยังต้องการพบปะ เชื่อมโยง เรียนรู้และสอนผู้ที่มีความสนใจเหมือนกัน คุณไม่จำเป็นต้องใส่รหัสหากไม่ใช่มือขวาของคุณ — คุณยังสามารถเขียนบล็อก ผู้ให้คำปรึกษา ช่วยอัพเดทหนังสือเรียน ให้ข้อเสนอแนะแก่ผู้ที่กำลังพัฒนา Qiskit และอื่นๆ
ฉันเริ่มมีส่วนร่วมกับ Qiskit ก่อนที่ฉันจะเข้าร่วมทีมโดยไม่รู้ตัว เช่นเดียวกับคนอื่น ๆ ฉันใช้ชุดวิดีโอLearn Quantum Computation โดยใช้หนังสือเรียน Qiskitและการเขียนโปรแกรมบน Quantum Computersเพื่อสอนตัวเองเกี่ยวกับพื้นฐานของคอมพิวเตอร์ควอนตัม โน้ตบุ๊ก Jupyter และการรันโค้ด Qiskit ฉันรู้ว่ามีบางชิ้นที่ขาดหายไปในขณะที่ฉันอ่านตำราเรียน โดยเฉพาะอย่างยิ่งที่มันแนะนำผลิตภัณฑ์เทนเซอร์และผลิตภัณฑ์ภายนอก แต่ไม่ได้อธิบายวิธีการทำในบทนำของพีชคณิตเชิงเส้น ฉันแจ้งเจ้าของหนังสือเรียนผ่าน Slack ไม่นานหลังจากที่ฉันเริ่มทำงานที่นี่ และหลังจากนั้นก็ออกตั๋ว GitHub. เพียงอย่างเดียวนี้นับว่าเป็นผลงานของชุมชน Qiskit เนื่องจากฉันได้ระบุสถานที่ที่ Qiskit สามารถได้รับการปรับปรุงและตั้งค่าสถานะให้กับผู้ที่มีทักษะในการปรับปรุง
[NPC5]ผู้เขียนตำราของมีมือของพวกเขาเต็มไปด้วยปัญหาอื่น ๆ ดังนั้นฉันได้พบสถานที่ที่จะทำให้ผลงานที่สอง: ผมเขียนว่าชิ้นส่วนที่ขาดหายไปของบทพีชคณิตเชิงเส้นตัวเอง ฉันไม่ได้มีประสบการณ์มากมายในการจัดรูปแบบข้อความด้วย LaTeX แต่ค่อนข้างชัดเจนว่าฉันจะเพิ่มส่วนและทำให้เวกเตอร์และเมทริกซ์ดูดีได้อย่างไรเมื่อฉันเปิด Jupyter Notebook ของบท ฉันพบว่า GitHub ทำงานอย่างไร แยกตำราเรียน เพิ่มการจัดรูปแบบ LaTeX ผ่านการลองผิดลองถูก เขียนสองสามย่อหน้า และหลังจากนั้นสองชั่วโมงฉันก็ได้แต่งส่วนใหม่ทั้งหมดเกี่ยวกับเทนเซอร์และผลิตภัณฑ์ภายนอก ฉันยื่นคำขอดึงและคุยโม้เกี่ยวกับการอัปเดตหนังสือเรียนเล่มใหม่บน Twitter และคู่สมรสของฉันอย่างภาคภูมิใจ