paint-brush
Máy tính lượng tử cần nhiều kỹ sư phần mềm hơnby@ddri
413
413

Máy tính lượng tử cần nhiều kỹ sư phần mềm hơn

David Ryan11m2024/05/26
Read on Terminal Reader

Khám phá kho phần mềm trong Điện toán lượng tử, từ ngôn ngữ lập trình cấp cao cho đến hệ thống phần cứng (và... bắt đầu sự nghiệp lượng tử của bạn).
featured image - Máy tính lượng tử cần nhiều kỹ sư phần mềm hơn
David Ryan HackerNoon profile picture
0-item

Bài viết này được lấy cảm hứng từ nhu cầu cần thêm Kỹ sư phần mềm trong lĩnh vực điện toán lượng tử. Chưa kể đến các Nhà phát triển, Nhà thiết kế UX, Người kiểm tra chất lượng, Người quản lý sản phẩm khác và tất cả những tài năng còn lại có thể cung cấp một sản phẩm thực sự cho khách hàng thực sự. Đặc biệt là các sản phẩm thuộc Deep Tech và Frontier Tech như điện toán lượng tử.


Những sản phẩm này và các nhóm cố gắng tạo ra chúng phải trải qua một hành trình dài và đầy thử thách từ "Khoa học đến Công nghệ đến Kỹ thuật đến Sản phẩm" . Một loạt các chuyển đổi giai đoạn liên quan nhiều đến sự phát triển của tổ chức (và cộng đồng) hơn là chỉ là một tiến trình tuyến tính thông qua sự sẵn sàng về công nghệ.


Sự tiến hóa này không chỉ xảy ra. Đối với những người trong số chúng tôi làm việc trong các nhóm này, chúng tôi phải đối mặt với thách thức trong việc đổi mới tổ chức khi nó chuyển từ học thuật sang kỹ thuật sang một lĩnh vực nào đó gắn kết rộng rãi hơn với thị trường. Điều đó có nghĩa là tìm nguồn cung ứng và cộng tác với một cộng đồng nhân tài đang phát triển cũng như liên tục phát triển và phát triển các kỹ năng của chính chúng ta.



Đây là điều mà tôi đã đề cập đến trong bài nói chuyện " Nguồn mở theo cách của bạn để bước vào sự nghiệp điện toán lượng tử " vào năm 2022 tại Hội nghị thượng đỉnh về nguồn mở của Quỹ Linux. Và nó thậm chí còn phát triển hơn nữa trong khoảng năm đó, với sự chuyển dịch đáng chú ý của ngành sang "tiện ích lượng tử" (thuật ngữ chúng tôi sử dụng để tập trung vào tính hữu ích trong thế giới thực thay vì ưu thế về mặt lý thuyết ) và một số dự án lớn đang được khởi động. Chẳng hạn như khoản đầu tư gần 1 tỷ đô la của chính phủ Úc vào PsiQuantum để thiết lập một máy tính lượng tử thương mại ở quê hương Brisbane của tôi (nói với một chút nhớ nhà từ đây tại Seattle).


Vâng, có rất nhiều điều đang diễn ra. Điều này khiến đây là thời điểm rất tốt để hiểu những hệ thống lượng tử này thực sự bao gồm những gì và tài năng cũng như sự tò mò của bạn phù hợp ở đâu. Tôi đã đưa ra một số đề xuất ở cuối về cách tham gia. Và tôi nên thêm một tuyên bố từ chối trách nhiệm nhanh chóng rằng thực sự không có một mô hình "máy tính lượng tử" nào cả. Tôi đã tóm tắt các yếu tố phổ biến nhất của các hệ thống khác nhau mà chúng tôi đang phát triển vì giá trị giáo dục, nhưng hoan nghênh mọi thách thức hoặc phản bác khi mô hình này phát triển theo thời gian.

Sơ lược về ngăn xếp lượng tử

Theo nhiều cách, ngăn xếp điện toán lượng tử phù hợp với mô hình của ngăn xếp điện toán hiệu năng cao (HPC) hiện đại. Và ở mức độ thấp hơn sẽ đủ quen thuộc với bất kỳ ai làm việc trong lĩnh vực điện toán đám mây. Chúng tôi chuyển từ trải nghiệm người dùng cấp cao xuống một số dạng nền tảng tiếp nhận khối lượng công việc của chúng tôi và chuyển đổi nó thành thứ gì đó sẽ chạy trên phần cứng. Đủ đơn giản để khiến chúng ta phải suy nghĩ.


Sắc thái phức tạp hơn rất nhiều. Chẳng hạn như hiểu rằng máy tính lượng tử chỉ thực sự tốt khi thuật toán lượng tử được sử dụng. Tất cả những điều thú vị mà bạn đã nghe về sự chồng chấtsự vướng víu thực sự chỉ nhằm mục đích chạy một số thuật toán hữu ích một cách đáng tin cậy, ở cấp độ phần cứng, sử dụng pha và giao thoa để thực hiện "phép tính" tạo ra xác suất đúng trả lời. Làm điều này nhiều sẽ tạo ra khả năng cao hơn cho câu trả lời đúng. Để làm được điều này đòi hỏi một thuật toán hữu ích và việc triển khai hệ thống đáng tin cậy.


Mô phỏng cũng đóng một vai trò quan trọng. Bạn có thể thấy điều này được nhắc đến liên quan đến việc "tiết kiệm từ việc mua phần cứng đắt tiền", nhưng thực tế không phải vậy (và thường là manh mối mà ai đó chỉ đang sử dụng AI để viết clickbait lượng tử của họ). Chúng tôi dựa vào mô phỏng để không chỉ giúp phát triển các thuật toán mới và thú vị mà còn khám phá nhiều cách khác nhau để thiết lập khối lượng công việc. Đây cũng là một phần cốt lõi trong quy trình công việc mà nhiều người trong chúng ta đang hướng tới, trong đó một hệ thống lai thực sự sẽ sử dụng các tài nguyên điện toán cổ điển để xử lý khối lượng công việc và lập kế hoạch, cùng với khả năng tăng tốc thông qua GPU (hoặc các chip mới hơn như TPULPU ), đồng thời thúc đẩy hiệu quả khối lượng công việc nhất định cho đơn vị xử lý lượng tử (QPU) trong đó thuật toán lượng tử có thể hữu ích cho nhiệm vụ hiện tại. Trong khi một số người, như tôi, tập trung vào việc tích hợp điện toán lượng tử với cơ sở hạ tầng hiện có, thì những người khác lại chuyên tâm xây dựng hệ thống lượng tử độc lập mạnh mẽ nhất. Do đó có phạm vi khám phá rộng rãi trong ngành.


Nếu tất cả những gì bạn rút ra được từ điều này là máy tính lượng tử là một hệ thống chuyên dụng bao gồm QPU bổ sung cho ngăn xếp điện toán hiện có để chạy các thuật toán lượng tử chuyên dụng thì đó là một chiến thắng. Không cần mèo, rạch hay vẫy tay ma quái.



Ngăn xếp lượng tử một cách chi tiết

Các phần sau đây di chuyển từ lớp người dùng trên cùng xuống qua nền tảng và cuối cùng là lớp phần cứng. Mặc dù ranh giới giữa các lớp này có thể bị xóa mờ trong thực tế, nhưng chúng tôi sẽ tuân theo mô hình dựa trên khối lượng công việc hoặc quy trình làm việc điển hình để đảm bảo sự rõ ràng (và tỉnh táo).

1. Ngôn ngữ lập trình lượng tử và công cụ dành cho nhà phát triển

Ở cấp độ cao nhất của hệ lượng tử là việc con người gõ bàn phím. Ngôn ngữ lập trình lượng tử cung cấp mức độ trừu tượng cao cần thiết để khám phá các thuật toán lượng tử và tạo chương trình ở dạng có thể quản lý được. Trải nghiệm làm việc với các ngôn ngữ này được mở rộng nhờ Bộ công cụ phát triển phần mềm (SDK) cung cấp các thư viện và công cụ cần thiết để phát triển phần mềm lượng tử.


Có một số điểm mờ nhạt trong sự khác biệt giữa SDK, khung và Môi trường phát triển tích hợp (IDE). Điều này được hình thành bởi các cách tiếp cận đa dạng của các nhà cung cấp lượng tử cũng như sự tích hợp của các nền tảng và ngành dọc sản phẩm phù hợp với người dùng cuối cụ thể. Một nhà nghiên cứu muốn có toàn quyền truy cập cục bộ và kiểm soát mức xung sẽ khác với một nhóm doanh nghiệp đang phát triển khối lượng công việc kết hợp, khác với một công ty khởi nghiệp fintech xây dựng trên nền tảng lượng tử dựa trên đám mây. Mô hình này quen thuộc trong các dự án doanh nghiệp hoặc dựa trên đám mây, nhưng nó sẽ phát triển theo nhiều sắc thái khi giá trị thương mại của hệ thống lượng tử trở nên rõ ràng hơn và ảnh hưởng đến thiết kế sản phẩm. Trong khi đó, các SDK phổ biến nhất và ngôn ngữ lập trình liên quan của chúng như sau.


2. Thuật toán lượng tử và ứng dụng

Di chuyển xuống ngăn xếp, chúng ta đến với các thuật toán cốt lõi của bất kỳ khối lượng công việc lượng tử mong muốn nào. Khi các cách tiếp cận cạnh tranh khác nhau nhằm tạo ra máy tính lượng tử được cải thiện thì cơ hội cho các ứng dụng trong thế giới thực cũng tăng theo. Một loạt các thư viện và gói phần mềm đang được xây dựng hướng tới các lĩnh vực sử dụng chức năng cụ thể (chẳng hạn như Qiskit Machine Learning của IBM dành cho học máy lượng tử hoặc OpenFermion của Google cho hóa học lượng tử) và các thư viện hiện có của các thuật toán lượng tử đã biết đang được các nhà nghiên cứu mở rộng và tối ưu hóa và các nhà cung cấp thương mại (như Sở thú thuật toán lượng tử của Stephen Jordanthư viện của Classiq ).


Một số thuật toán lượng tử đã đạt được trạng thái gần như nổi tiếng. Một số khác là sự thích ứng lượng tử của các thuật toán cổ điển hoặc đóng vai trò là khối xây dựng cho khối lượng công việc lớn hơn. Thậm chí có một số thuật toán lượng tử vô dụng về mặt chức năng trong thế giới thực (hãy chèn một câu chuyện cười về các nhà vật lý vào đây nếu bạn dám), nhưng lại là những ví dụ quan trọng về lợi thế lượng tử. Để tìm hiểu sâu hơn, hãy tham khảo tính năng của tôi về thuật toán lượng tử, nhưng đây là một số ví dụ đáng chú ý.


  • Thuật toán của Shor là thuật toán “bẻ khóa mã hóa” được đề xuất như một cách để phân tích các số lớn nhanh hơn theo cấp số nhân so với bất kỳ thuật toán cổ điển nào đã biết.
  • Thuật toán tìm kiếm của Grover là điểm khởi đầu hữu ích để tăng tốc thuật toán cho các tìm kiếm dữ liệu phi cấu trúc.
  • Thuật toán Deutsch-Jozsa bản thân nó không hữu ích về mặt kỹ thuật, nhưng là một ví dụ ban đầu cho thấy lợi thế lượng tử so với các phương pháp cổ điển.
  • Biến đổi Fourier lượng tử (QFT) là phiên bản lượng tử của Biến đổi Fourier nhanh, trung tâm của nhiều thuật toán mạnh mẽ.
  • Bộ giải riêng lượng tử biến thiên (VQE) là một thuật toán lai đang được khám phá cho các ứng dụng ngắn hạn trong hóa học lượng tử, mô phỏng vật liệu và các vấn đề tối ưu hóa.

3. Trình mô phỏng và mô phỏng lượng tử

Trình mô phỏng lượng tử là công cụ phần mềm được sử dụng để tái tạo hoạt động của các hệ lượng tử trên máy tính cổ điển. Chúng tạo thành một phần thiết yếu trong quy trình phát triển thuật toán và tối ưu hóa khối lượng công việc tiềm năng của chúng tôi (đặc biệt với các trình mô phỏng có cùng bộ cổng hoặc các thành phần khác của phần cứng cụ thể). Vai trò của thiết bị mô phỏng đã phát triển khi bản thân ngành này phát triển từ nghiên cứu học thuật thuần túy sang tiện ích thương mại tiềm năng. Độ chính xác của mô phỏng cho phần cứng lượng tử cụ thể đã được cải thiện đến mức mô hình hóa tiếng ồn và lỗi riêng của hệ thống. Lưu ý rằng các ví dụ sau có thể thay đổi hoặc không được dùng nữa khi các nhà cung cấp ( hãy xem bạn là Qiskit 1.0 ) lặp lại hoặc hợp lý hóa các dòng sản phẩm của họ khi ngành này phát triển.


4. Nền tảng đám mây lượng tử

Trước khi đi sâu hơn vào ngăn xếp, chúng ta cần ghi chú nhỏ về chủ đề nền tảng đám mây lượng tử. Trong thời đại hiện nay, có một số nhà cung cấp lớn với một số hệ thống phần cứng đang hoạt động. Mỗi người đều phải đối mặt với cùng một câu hỏi về việc nên cố gắng bán trực tiếp các đơn vị phần cứng, lưu trữ trong khuôn viên riêng của họ, bán quyền truy cập qua internet hay kết hợp một số điều trên. Và sau đó thêm các kết nối riêng tư, nhà cung cấp đám mây công cộng, năng lực có chủ quyền và phòng thí nghiệm nghiên cứu vào hỗn hợp. Không có gì chắc chắn rằng mô hình nền tảng đám mây sẽ chứng tỏ là mô hình kinh tế xác định cho điện toán lượng tử, mặc dù nó chiếm được sự chia sẻ lớn nhất từ bên ngoài lĩnh vực dựa trên các mô hình điện toán đám mây trước đó.


Sau khi đã nói tất cả những điều đó, hãy chú ý đến những công ty chọn không cung cấp quyền truy cập nền tảng đám mây cho hệ thống của họ. Tại Quantum Brilliance, trọng tâm của tôi là các cụm điện toán biên có tính song song cao bằng cách sử dụng phương pháp tiếp cận trung tâm NV kim cương cho phép QPU có hệ số dạng nhỏ và nhiệt độ phòng (với lần đầu tiên ). Khi nói chuyện với các công ty khởi nghiệp lượng tử khác, các trường hợp sử dụng cho tất cả các hình thức triển khai cố định hoặc di động dường như đều được áp dụng và có rất nhiều công việc thú vị (và thường không được tiết lộ) đang được thực hiện từ web. Trong số những thứ có thể truy cập trực tuyến, đây là một số thứ để xem.


5. Trình biên dịch lượng tử và tối ưu hóa mạch

Vai trò của trình biên dịch lượng tử là dịch các chương trình lượng tử cấp cao thành các lệnh cấp thấp để thực thi trên phần cứng lượng tử. Mặc dù các chi tiết cụ thể nằm ngoài phạm vi của bài viết này, nhưng quy trình này bao gồm việc phân tách cổng (để khớp các cổng trừu tượng với các qubit vật lý), ánh xạ và lập kế hoạch (để khớp các qubit logic của thuật toán với các qubit vật lý) và các chi tiết cụ thể cho nhà cung cấp và hệ thống cụ thể của họ (chẳng hạn như độ trung thực, tỷ lệ lỗi và khả năng kết nối).


Để đơn giản hóa ngăn xếp ví dụ này, chúng tôi sẽ đưa vào cấp độ này các hình thức tối ưu hóa mạch lượng tử khác nhau áp dụng các kỹ thuật để giảm thiểu số lượng cổng lượng tử, độ sâu hoặc các phần tử tài nguyên khác mà không thay đổi chức năng cơ bản. Điều này có thể xảy ra trước khi biên dịch, như một phần của quá trình biên dịch hoặc sau này như một phần của quá trình tinh chỉnh quy trình phần cứng. Để rõ ràng, hãy nhóm nó ở đây trong quy trình làm việc của chúng ta. Dưới đây là một số ví dụ cần lưu ý.


6. Phần mềm sửa lỗi lượng tử

Vai trò của việc sửa lỗi lượng tử trong thời đại các hệ lượng tử “ồn ào” hiện nay là đặc biệt quan trọng. Đến mức có những công ty chuyên về lớp này. Sự cần thiết của các công ty này và nỗ lực sửa lỗi rộng rãi hơn là do tính chất mong manh của hệ thống lượng tử. Trong khi máy tính lượng tử siêu dẫn chiếm ưu thế trong trí tưởng tượng phổ biến, thì việc sửa lỗi là rất quan trọng đối với tất cả các phương pháp (ion bị bẫy, quang tử, trung tâm NV, v.v.).


Bất kể phương pháp tạo qubit nào, các thách thức đều nảy sinh trong quá trình chuẩn bị, thực hiện khối lượng công việc và đo lường. Sự mất kết hợp ảnh hưởng đến tất cả các phương pháp, cùng với lỗi cổng, lỗi đo lường và chất lượng qubit riêng lẻ. Việc sửa lỗi lượng tử phức tạp một cách dễ hiểu, nhưng có thể kết hợp các kỹ thuật như dự phòng hệ thống (truyền thông tin lượng tử trên nhiều qubit), quản lý hội chứng (sử dụng qubit phụ trợ để phát hiện lỗi mà không làm ảnh hưởng đến thông tin được mã hóa) và lập hồ sơ hiệu suất của các qubit riêng lẻ hoặc cụm tăng ca. Mặc dù những điều này vẫn sẽ quan trọng nếu có thể đạt được kỷ nguyên của điện toán lượng tử có khả năng chịu lỗi thực sự, nhưng chúng là một chủ đề nghiên cứu thú vị trong kỷ nguyên Lượng tử quy mô trung gian ồn ào (NISQ) hiện tại mà chúng ta đang gặp phải. Các nhà cung cấp và ví dụ chính bao gồm: .


7. Hệ thống điều khiển lượng tử

Hệ thống điều khiển lượng tử chịu trách nhiệm quản lý và kiểm soát hoạt động của phần cứng lượng tử. Nó xử lý các tác vụ ở cấp độ phần cứng như hiệu chuẩn, định hình xung và kiểm soát qubit. Với các dạng điện toán lượng tử khác nhau đang được phát triển và phạm vi triển khai các hệ thống lượng tử nguyên khối hoặc nối mạng, chúng ta có thể coi thuật ngữ "hệ thống điều khiển lượng tử" mang tính bao hàm hơn là cụ thể. Tương tự như vậy, không có định nghĩa cứng nhắc và nhanh chóng nào về "hệ điều hành lượng tử".


Điều này có thể sẽ thay đổi theo thời gian khi giai đoạn phát triển chuyển từ giai đoạn "Khoa học sang Công nghệ" sang giai đoạn "Kỹ thuật thành Sản phẩm" . Đặc biệt là ở những nơi cần có sự liên kết chặt chẽ hơn với các mẫu sản phẩm hiện có và thuật ngữ của người dùng và/hoặc thị trường. Trong hầu hết các trường hợp, hệ thống điều khiển sẽ là tài nguyên nội bộ (thứ gì đó nằm giữa hệ điều hành và chương trình cơ sở) nhưng đáng chú ý là các nhà cung cấp và sản phẩm sau.


8. Phần cứng lượng tử

Lớp cuối cùng trong ngăn xếp của chúng tôi chính là phần cứng lượng tử. Sẽ rất hữu ích khi nhớ rằng không có cách duy nhất hay đúng đắn nào để tạo và làm việc với qubit. Cũng không có cách tiếp cận dẫn đầu thị trường rõ ràng. Mỗi phương pháp hoặc cách tiếp cận đều có những thách thức riêng và có thể có nhiều cách tiếp cận mang lại lợi ích cho các tình huống cụ thể.


Lớp phần cứng là thứ mà nhiều người nghĩ đến khi nghe đến thuật ngữ "điện toán lượng tử", giống như cách mà các thiết bị tính toán ống và van đời đầu đã xác định thuật ngữ và ngôn ngữ bằng lực tương tác cơ học tuyệt đối. Công tắc và thẻ đục lỗ nhường chỗ cho các hướng dẫn và chương trình theo thời gian, lần lượt được mở rộng bằng bộ nhớ và bộ lưu trữ, sau đó được kết nối bằng mạng và máy chủ.


Những mô hình này hiện diện trong quá trình nghiên cứu và phát triển các thiết bị lượng tử và như chúng ta có thể thấy ở trên, các lớp của ngăn xếp lượng tử mẫu tạo cơ hội cho chuyên môn hiện có ở mỗi lớp đưa ra những ý tưởng mới và thú vị. Hy vọng rằng theo những cách mới mà chúng tôi có thể chưa bao giờ xem xét, dựa trên sắc thái mà mỗi công nghệ và lớp cơ bản trong ngăn xếp mang lại.

TL;DR?

Công việc đang được thực hiện bởi các nhà vật lý lượng tử, kỹ sư điện và điện tử, nhà chế tạo và tất cả các loại người điều khiển nguyên tử không chỉ được hỗ trợ mà còn được hỗ trợ bởi những người trong chúng ta, những người sắp xếp các bit và (zetta)byte. Đây là thời điểm tuyệt vời để tham gia.


Một khởi đầu tốt cho những người mới học là Black Opal của Q-CTRL , MOOC cấp cao trên edX của trường đại học Delftcon đường tất yếu vào Qiskit của IBM . Đối với những người trong số các bạn thuộc lĩnh vực C#, phần giới thiệu này của Microsoft sẽ cung cấp cái nhìn nhanh về cách tiếp cận của họ với Q# và cách nó được đưa vào hệ sinh thái Azure. Và thư viện thuật toán Classiq rất đáng để đánh dấu.


Tôi sẽ sớm viết một bài viết riêng về việc học lượng tử dành cho các kỹ sư phần mềm, vì đây là chủ đề mà tôi nhận được email gần như hàng tuần kể từ buổi nói chuyện tại Hội nghị thượng đỉnh về nguồn mở (và tình trạng sa thải dần dần các tài năng kỹ thuật đã xảy ra kể từ đó). Mặc dù bất kỳ sự thay đổi nào trong ngành đều gây khó khăn cho những người và gia đình bị ảnh hưởng bởi tình hình kinh tế lạnh giá hơn, nhưng nó có thể trở thành cơ hội để giải phóng tài năng (và con đường sự nghiệp) mà nếu không thì sẽ bị khóa chặt. Vì vậy, nếu bạn đang cân nhắc việc khám phá thêm, vui lòng làm như vậy và liên hệ với tôi nếu tôi có thể giúp đỡ bất cứ điều gì . Và hãy nhớ đăng ký nhận bản tin Sản phẩm chuyên sâu , nơi chúng tôi tìm hiểu sâu về chiến lược và quy trình vận chuyển các sản phẩm thực tế trong lĩnh vực Công nghệ sâu và Công nghệ biên giới.