สัมผัสประสบการณ์คอมพิวเตอร์ควอนตัมที่ทรงพลังที่สุดด้วยบทช่วยสอน Qiskit

สัมผัสประสบการณ์คอมพิวเตอร์ควอนตัมที่ทรงพลังที่สุดด้วยบทช่วยสอน Qiskit

เครดิตฟรี

สำหรับคนส่วนใหญ่ การคำนวณควอนตัมเป็นเรื่องใหม่และน่าตื่นเต้น แต่ในขณะเดียวกันก็อาจทำให้สับสนได้เช่นกัน แนวคิดเช่น ‘การซ้อนทับควอนตัม’ และ ‘การพัวพันควอนตัม’ อาจเป็นเรื่องยากที่จะเข้าใจ นับประสาใช้ในอัลกอริทึม นั่นคือเหตุผลที่เมื่อเราเปิดตัว IBM Q Experience ในเดือนพฤษภาคม 2016เราไม่เพียงแต่สร้างอินเทอร์เฟซผู้ใช้แบบกราฟิกเชิงโต้ตอบเพื่อสร้างและเรียกใช้วงจรควอนตัมเท่านั้น เรายังให้คู่มือผู้ใช้โดยละเอียดที่อธิบายวิธีใช้อินเทอร์เฟซและ ฟิสิกส์และคณิตศาสตร์เบื้องหลังการคำนวณควอนตัม

สล็อต

ในทำนองเดียวกัน เมื่อเราเปิดตัว Qiskit เมื่อหนึ่งปีที่แล้วเราได้รวมบทช่วยสอนเกี่ยวกับโน้ตบุ๊ก Jupyter เกี่ยวกับวิธีสร้างโปรแกรมควอนตัมอย่างง่ายและใช้งาน สัปดาห์นี้ เราได้เปิดตัวช่องQiskit YouTubeสำหรับการแชร์วิดีโอสอนการใช้งาน
และด้วยความช่วยเหลือจากชุมชน IBM Q เรากำลังขยายจำนวนบทช่วยสอนที่มีอยู่ใน GitHub ภายในที่เก็บ Qiskit นี้: qiskit-tutorial พื้นที่เก็บข้อมูลของบทเรียน Qiskit ยังสามารถเรียกดูสะดวกสบายด้วย Jupyter โน๊ตบุ๊ค Viewer
บทช่วยสอนนี้มีจุดมุ่งหมายเพื่อแสดงให้เห็นว่าคอมพิวเตอร์ควอนตัมไม่เพียงแต่จำเป็นสำหรับการคำนวณทางวิทยาศาสตร์เท่านั้น แต่ยังใช้งานง่ายและสนุกอีกด้วย เพื่อจุดประสงค์นี้ เราได้จัดที่เก็บบทช่วยสอน Qiskit ออกเป็นสองส่วน:

  1. คิสกิต
    ส่วนนี้ประกอบด้วยชุดอ้างอิงหลักของโน้ตบุ๊ก Jupyter ที่สรุปคุณสมบัติขององค์ประกอบ Qiskit, Terra, Aqua, Ignis และ Aer โดยมีวัตถุประสงค์เพื่อสอนผู้ใช้เกี่ยวกับวิธีใช้ Qiskit
    สอนรวมถึงวิธีการที่จะเริ่มต้นด้วยการ Qiskit , วิธีการต่างๆในการแสดงภาพวงจรควอนตัมและรัฐและเทคนิคที่ใช้ในระบบควอนตัมสมบัติ
    ร้อนออกกดเป็นบทเรียนใหม่ไม่กี่แนะนำวิธีการใช้ Qiskit Aqua ในการแก้ปัญหาในทางเคมีควอนตัม , การเพิ่มประสิทธิภาพและการเรียนรู้เครื่อง
  2. ชุมชน
    นี่คือที่ตั้งของบทช่วยสอนที่เหลือ ควอนตัมคอมพิวเตอร์ที่มีความหลากหลายดังนั้นวันนี้มีผลงานที่ดีมากดังนั้นจากชุมชนเหล่านี้รวมทุกอย่างจากการส่งที่สนุกเหมือนวิธีการสร้างอีโมจิควอนตัมเพื่อการเรียนการสอนโดยละเอียดเช่นการแนะนำให้กับขั้นตอนวิธีของชอร์
    นอกจากนี้ คุณยังจะได้พบกับผลงานที่ส่งเข้าประกวดมากที่สุดสำหรับรางวัล Teach Me Qiskit Award ประจำปี 2018 อีกด้วย รวมถึงผลงานที่ชนะการประกวด “ Exact Ising Model simulation: How to simulate time evolution at zero time ” ซึ่งแสดงการใช้คอมพิวเตอร์ควอนตัม (และการเปรียบเทียบกับแบบจำลองในอุดมคติ) ) สำหรับเคมีควอนตัม ผลงานชั้นนำอื่นๆบางส่วนครอบคลุมแนวคิดของวงจรควอนตัม เกม และการเข้ารหัสด้วยวิธีที่สร้างสรรค์และให้ข้อมูล
    เราขอแนะนำให้ทุกคนได้สัมผัสกับโลกควอนตัมผ่านบทเรียน Qiskit ซึ่งสามารถติดตั้งได้ง่ายหรือทำงานออนไลน์กับ Binder ทรัพยากรเหล่านี้จะทำไปได้ที่จะขอบคุณการสนับสนุนและการมีส่วนร่วมของชุมชน ทุกคนสามารถมีส่วนร่วมในการปรับปรุงได้ ตั้งแต่การแก้ไขข้อผิดพลาดไปจนถึงการเขียนโน้ตบุ๊กใหม่ที่แสดงให้เห็นว่าคอมพิวเตอร์ควอนตัมนั้นสนุกและง่ายดาย แต่ทรงพลัง หากมีบทช่วยสอนที่คุณต้องการเพิ่ม แจ้งให้เราทราบ!
    เป็นประสบการณ์ที่วิเศษมากที่ได้เห็น Qiskit เติบโต ตั้งแต่เริ่มต้นในฐานะซอฟต์แวร์สำหรับเขียนการทดลองบนคอมพิวเตอร์ควอนตัม IBM Q Qiskit ได้พัฒนาไปสู่อีกมาก และความคิดของเราก็พัฒนาไปพร้อมกับมัน ทิศทางที่เราและหลายๆ คนในชุมชนต้องการให้โครงการดำเนินไปนั้นเริ่มชัดเจนขึ้นแล้ว ดังนั้นในโพสต์นี้ เราจะแบ่งปันภาพรวมของแผนของเราสำหรับ Qiskit รวมถึงองค์ประกอบทั้งสี่ซึ่งแต่ละองค์ประกอบเป็นเสาหลักของซอฟต์แวร์คำนวณควอนตัม
    การที่จะก้าวข้ามอำนาจการคำนวณของซูเปอร์คอมพิวเตอร์แบบคลาสสิกโดยการควบคุมพลังของการคำนวณควอนตัมยังคงเป็นหนึ่งในความท้าทายทางวิทยาศาสตร์ที่ยิ่งใหญ่ของศตวรรษที่ 21 เราจินตนาการว่า Qiskit เป็น “การประชุมของจิตใจ” หรือแพลตฟอร์มที่ครอบคลุมที่มีส่วนร่วมกับชุมชนนักวิทยาศาสตร์และนักพัฒนาในวงกว้างที่มีส่วนร่วมในความเชี่ยวชาญอันมีค่าในทุกระดับของความพยายามนี้
    แน่นอนว่าเป้าหมายหลักของ Qiskit คือการสร้างชุดซอฟต์แวร์ที่ช่วยให้ทุกคนใช้คอมพิวเตอร์ควอนตัมได้ง่าย อย่างไรก็ตาม Qiskit ยังตั้งเป้าที่จะอำนวยความสะดวกในการวิจัยเกี่ยวกับประเด็นเปิดที่สำคัญที่สุดที่ต้องเผชิญกับการคำนวณควอนตัมในปัจจุบัน
    ยังมีหนทางอีกยาวไกลในการสร้างคอมพิวเตอร์ควอนตัมที่ทนทานต่อข้อผิดพลาดที่เป็นสากล และเราจะโต้แย้งว่าเรายังไม่แน่ใจว่าซอฟต์แวร์สำหรับเครื่องดังกล่าวจะมีหน้าตาเป็นอย่างไร อย่างไรก็ตาม ในปัจจุบัน เรามีคอมพิวเตอร์ควอนตัมระดับกลางที่มีเสียงดัง (NISQ) ซึ่งยังคงซับซ้อนเกินกว่าจะคาดการณ์ได้ ถ้าเราสามารถควบคุมทรัพยากรนี้ได้ เราจะพบว่าตนเองมีอุปกรณ์ที่เชื่อว่ามีประสิทธิภาพในการคำนวณมากกว่าคอมพิวเตอร์ทั่วไปของเรา ด้วยอุปกรณ์ดังกล่าว เราจะตอบคำถามในใจของทุกคนได้อย่างไร:
    เราจะทำอะไรกับพวกเขาได้บ้าง?
    เราจะทำให้ดีขึ้นได้อย่างไร?
    เราเข้าใจความซับซ้อนของควอนตัมในเครื่อง NISQ ได้อย่างไร
    คำถามเหล่านี้ไม่ใช่คำถามง่ายๆ อันที่จริง พวกเขาเริ่มสร้างคำถามอีกมากมายที่การค้นหาคำตอบอย่างใกล้ชิดจะต้องใช้วิธีการทางวิทยาศาสตร์แบบดั้งเดิม นั่นคือนักทฤษฎีใช้ชอล์กบนกระดานดำจนหมด และนักทดลองพัฒนาอุปกรณ์ใหม่จนลืมไปเลยว่ากำลังทำอะไรอยู่
    แต่นอกเหนือจากการวิจัยทางวิทยาศาสตร์ในรูปแบบดั้งเดิมเหล่านี้แล้ว เรารู้สึกตื่นเต้นมากที่สุดกับโอกาสที่ผู้เขียนโค้ดนำมา วิธีเดียวที่เราสามารถตอบคำถามข้างต้นได้คือการพัฒนากรอบงานซอฟต์แวร์ควอนตัม เราต้องการเครื่องมือในการศึกษาอัลกอริธึมฮิวริสติก เพื่อเจาะลึกการตรวจสอบและตรวจสอบอุปกรณ์ควอนตัม เพื่อศึกษารหัสควอนตัมขนาดเล็ก สำหรับการสาธิตความทนทานต่อข้อผิดพลาด การแยกส่วนแบบไดนามิก และทฤษฎีการควบคุมที่เหมาะสม และสุดท้ายคือการพัฒนาวงจรที่เชื่อถือได้และแผนกำหนดการพัลส์เพื่อเรียกใช้วงจรที่ซับซ้อนบนอุปกรณ์จริง
    เพื่อสร้างระบบนิเวศซอฟต์แวร์ควอนตัมที่ประสบความสำเร็จ เรากำลังดำเนินการสี่ทิศทาง (หรือองค์ประกอบ ) พร้อมกัน เราได้ตั้งชื่อองค์ประกอบของ Qiskit ตามศัพท์ภาษาละตินสำหรับองค์ประกอบแบบคลาสสิก โดยเป็นการกล่าวถึงรากเหง้าของการคำนวณควอนตัมในธรรมชาติ
    Qiskit Terra
    Terra ซึ่งเป็นองค์ประกอบ ‘earth’ เป็นรากฐานของซอฟต์แวร์ที่เหลือ Terra จัดเตรียมรากฐานสำหรับการเขียนโปรแกรมควอนตัมที่ระดับของวงจรและพัลส์ เพื่อปรับให้เหมาะสมสำหรับข้อจำกัดของอุปกรณ์เฉพาะ และเพื่อจัดการการดำเนินการของชุดการทดลองบนอุปกรณ์ที่เข้าถึงจากระยะไกล Terra กำหนดอินเทอร์เฟซสำหรับประสบการณ์ผู้ใช้ปลายทางที่ต้องการ เช่นเดียวกับการจัดการเลเยอร์ของการเพิ่มประสิทธิภาพ การตั้งเวลาพัลส์ และการสื่อสารแบ็กเอนด์อย่างมีประสิทธิภาพ

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

Qiskit Aqua
อควา ธาตุ ‘น้ำ’ เป็นธาตุแห่งชีวิต เพื่อให้การประมวลผลควอนตัมเป็นไปตามความคาดหวัง เราจำเป็นต้องค้นหาแอปพลิเคชันในโลกแห่งความเป็นจริง Aqua เป็นที่ที่สร้างอัลกอริทึมสำหรับคอมพิวเตอร์ NISQ อัลกอริทึมเหล่านี้สามารถใช้เพื่อสร้างแอปพลิเคชันสำหรับการคำนวณควอนตัม Aqua สามารถเข้าถึงได้โดยผู้เชี่ยวชาญด้านเคมี การเพิ่มประสิทธิภาพ หรือ AI ที่ต้องการสำรวจประโยชน์ของการใช้คอมพิวเตอร์ควอนตัมเป็นตัวเร่งความเร็วสำหรับงานคำนวณเฉพาะ โดยไม่ต้องกังวลว่าจะแปลปัญหาเป็นภาษาของเครื่องควอนตัมได้อย่างไร
คิสกิต อิกนิส
อิกนิส ธาตุ ‘ไฟ’ อุทิศตนเพื่อต่อสู้กับเสียงและข้อผิดพลาด และเพื่อสร้างเส้นทางใหม่ ซึ่งรวมถึงการระบุลักษณะข้อผิดพลาดที่ดีขึ้น การปรับปรุงประตู และการคำนวณเมื่อมีเสียงรบกวน Ignis มีไว้สำหรับผู้ที่ต้องการออกแบบรหัสแก้ไขข้อผิดพลาดควอนตัม หรือผู้ที่ต้องการศึกษาวิธีการระบุลักษณะข้อผิดพลาดผ่านวิธีการต่างๆ เช่น เอกซเรย์ หรือแม้แต่หาวิธีที่ดีกว่าในการใช้เกทโดยการสำรวจการแยกส่วนแบบไดนามิกและการควบคุมที่เหมาะสมที่สุด ในขณะที่เราได้เผยแพร่บางส่วนขององค์ประกอบนี้โดยเป็นส่วนหนึ่งของไลบรารีใน Terra แล้ว การเปิดตัวแบบสแตนด์อโลนอย่างเป็นทางการจะมาในเร็วๆ นี้
คิสกิต แอร์
Aer ซึ่งเป็นองค์ประกอบ ‘อากาศ’ แทรกซึมองค์ประกอบ Qiskit ทั้งหมด เพื่อเร่งการพัฒนาคอมพิวเตอร์ควอนตัมอย่างแท้จริง เราจำเป็นต้องมีโปรแกรมจำลอง อีมูเลเตอร์ และดีบักเกอร์ที่ดีกว่า ที่ IBM Q เราได้สร้างเครื่องจำลองคุณภาพสูงและมีประสิทธิภาพสูงและปรับปรุงความสามารถในการปรับขนาดและคุณลักษณะอย่างต่อเนื่อง Aer จะช่วยให้เราเข้าใจข้อจำกัดของโปรเซสเซอร์แบบคลาสสิกโดยแสดงให้เห็นว่าพวกเขาสามารถเลียนแบบการคำนวณควอนตัมได้มากน้อยเพียงใด นอกจากนี้เรายังสามารถใช้ Aer เพื่อตรวจสอบว่าคอมพิวเตอร์ควอนตัมในปัจจุบันและอนาคตอันใกล้ทำงานได้อย่างถูกต้อง ซึ่งสามารถทำได้โดยขยายขอบเขตของการจำลองเพื่อรองรับ 50+ qubits ที่มีความลึกสูงพอสมควร และโดยการจำลองผลกระทบของสัญญาณรบกวนที่สมจริงในการคำนวณ
มีหนทางมากมายให้สำรวจในการวิจัยคอมพิวเตอร์ควอนตัม นี่คือเหตุผลที่ Qiskit ได้รับการออกแบบโดยคำนึงถึงความเป็นโมดูลและความสามารถในการขยาย ตัวอย่างเช่น ง่ายต่อการขยาย Qiskit Terra โดยการเพิ่มการเพิ่มประสิทธิภาพวงจรใหม่ผ่านหรือเพิ่มอุปกรณ์ใหม่หรือแบ็กเอนด์จำลอง ในทำนองเดียวกัน การขยาย Qiskit Aqua ทำได้โดยเสียบอัลกอริธึมใหม่สำหรับการแก้ปัญหาการปรับให้เหมาะสม
เนื่องจากฮาร์ดแวร์ควอนตัมยังคงเติบโตเต็มที่ ซอฟต์แวร์จึงมีบทบาทสำคัญในความสำเร็จของคอมพิวเตอร์ควอนตัม ในเวลาเพียงหนึ่งปีบทความทางวิทยาศาสตร์มากกว่า 110 บทความได้ใช้ Qiskit และการเข้าถึงอุปกรณ์ IBM Q จากระยะไกลเพื่อศึกษาแง่มุมต่างๆ ของการคำนวณควอนตัม เราภาคภูมิใจในสิ่งนี้ และเรายังคงพึ่งพาสมาชิกในชุมชนของเราเพื่อรับฟังความคิดเห็น การสนับสนุน และคำแนะนำ Qiskit มาไกล และ Terra, Aqua, Ignis และ Aer จะกำหนดการเติบโตในช่วงหลายเดือนต่อจากนี้
[NPC4]Erick Winston และ Diego Moreda [นักเขียนด้านเทคนิค: Abigail Cross]
ในQiskit 0.6เราได้อัปเดตอินเทอร์เฟซสำหรับแบ็กเอนด์และงาน ในโพสต์นี้ เราจะทบทวนองค์ประกอบหลักของกรอบงานแบ็กเอนด์ของ Qiskit โดยใช้ตัวอย่างเพื่อแนะนำคุณเกี่ยวกับคุณลักษณะขั้นสูง
อินเทอร์เฟซใหม่มีสามส่วน: the provider, the backendและ the job:
provider: เข้าถึงแบ็กเอนด์และจัดเตรียมออบเจ็กต์แบ็กเอนด์
backend: รันวงจรควอนตัม
job: ติดตามงานที่ส่ง
ผู้ให้บริการ
ผู้ให้บริการคือเอนทิตีที่ให้การเข้าถึงกลุ่มแบ็กเอนด์ต่างๆ (เช่น แบ็กเอนด์ที่พร้อมใช้งานผ่านIBM Q ) มันโต้ตอบกับแบ็กเอนด์เหล่านั้น ตัวอย่างเช่น ค้นหาว่ามีแบ็กเอนด์ใดบ้าง หรือเรียกข้อมูลอินสแตนซ์ของแบ็กเอนด์เฉพาะ
ผู้ให้บริการรับช่วงมาจากBaseProviderและใช้วิธีการ:
backends(): ส่งคืนอ็อบเจ็กต์แบ็กเอนด์ทั้งหมดที่ผู้ให้บริการรู้จัก
get_backend(name): ส่งคืนแบ็กเอนด์ที่มีชื่อ
Qiskit มีอินเทอร์เฟซสำหรับผู้ให้บริการสองราย: AerและIBMQ :
Aer: ให้การเข้าถึงเครื่องจำลองหลายตัวที่มาพร้อมกับ Qiskit และทำงานบนเครื่องในพื้นที่ของคุณ
IBMQ: การดำเนินการเข้าถึงแบ็กเอนด์เมฆตาม – จำลองและอุปกรณ์ควอนตัมจริง – เป็นเจ้าภาพบนIBM Q
ใหม่ใน 0.6 ยังเป็นวิธีที่ทำให้การจัดการข้อมูลประจำตัวสำหรับผู้ให้บริการ IBMQ ง่ายขึ้น พวกเขาหลีกเลี่ยงปัญหาบางอย่างที่เคยพบเมื่อจัดเก็บข้อมูลรับรองในQconfig.pyไฟล์:
save_account(token, url=QE_URL, **kwargs): พิสูจน์ตัวตนบัญชี IBMQ ใหม่และบันทึกข้อมูลประจำตัวลงในดิสก์เพื่อใช้ในเซสชันในอนาคต
enable_account(token, url=QE_URL, *kwargs): พิสูจน์ตัวตนบัญชี IBMQ ใหม่และเพิ่มเพื่อใช้ในระหว่างเซสชันนี้ active_accounts(): แสดงรายการบัญชีทั้งหมดที่ใช้งานอยู่ในเซสชันปัจจุบัน load_accounts(kwargs): โหลดบัญชี IBMQ ที่พบในระบบลงในเซสชันปัจจุบัน stored_accounts(): แสดงรายการบัญชีทั้งหมดที่จัดเก็บไว้ในดิสก์ disable_accounts(kwargs): ปิดการใช้งานบัญชีในเซสชันปัจจุบัน delete_accounts(*kwargs): ลบบัญชีที่บันทึกไว้ออกจากดิสก์
[NPC5]แบ็กเอนด์
แบ็กเอนด์เป็นตัวแทนของเครื่องจำลองหรือคอมพิวเตอร์ควอนตัมจริง และมีหน้าที่รับผิดชอบในการเรียกใช้วงจรควอนตัมและส่งคืนผลลัพธ์ พวกเขารับqobjเป็นอินพุตซึ่งเป็นออบเจ็กต์ควอนตัมและผลลัพธ์ของกระบวนการคอมไพล์และส่งคืนBaseJobอ็อบเจ็กต์ อ็อบเจ็กต์นี้อนุญาตให้รันงานแบบอะซิงโครนัสเพื่อดึงผลลัพธ์จากแบ็กเอนด์เมื่องานเสร็จสิ้น
แบ็กเอนด์แต่ละคลาสยังสามารถรวมฟังก์ชันเฉพาะของแบ็กเอนด์ได้อีกด้วย ตัวอย่างเช่น เนื่องจากแบ็กเอนด์IBM Qเข้าถึงได้ผ่านระบบคลาวด์ พวกเขาจึงมีวิธีการต่อไปนี้สำหรับการดึงข้อมูลอินสแตนซ์งานระหว่างเซสชันการเข้าสู่ระบบ — ตัวอย่างเช่น เมื่อคิวสำหรับอุปกรณ์ยาวเกินกว่าที่เราต้องการให้เซสชัน Python ทำงาน