inflearn logo

Thực hành Python học máy để triển khai trên FPGA

Khi học máy học, bạn học cách nâng cao độ chính xác. Nhưng ngay khoảnh khắc muốn đưa mô hình đó lên một con chip thực tế, vẫn còn những câu hỏi mà không ai nói cho bạn biết. Mô hình này thực hiện bao nhiêu phép nhân? Nó cần ghi nhớ bao nhiêu và những gì? Thông số của con chip đang nhắm tới có đáp ứng được các yêu cầu đó không? Giáo trình máy học nói về độ chính xác, còn giáo trình bán dẫn nói về mạch điện, nhưng tài liệu kết nối hai lĩnh vực này lại rất hiếm. Khi triển khai CPU RISC-V và NPU trên FPGA, tôi đã nhiều lần đối mặt với khoảng cách đó. Đó là tình huống mô hình có độ chính xác cao nhất lại không thể chạy trên bo mạch. Trong khóa học này, bạn sẽ trực tiếp xây dựng sáu thuật toán bằng Python, đồng thời đo số phép nhân, phép so sánh, bộ nhớ và độ chính xác ở mỗi bước. Sau đó, các giá trị này được quy đổi thành tài nguyên trên một bo mạch FPGA thực tế. Chỉ nói “bao nhiêu phép nhân” thì không đủ để hình dung quy mô, nhưng nếu nói “chiếm bao nhiêu phần trăm tài nguyên của bo mạch” thì bạn có thể đưa ra quyết định. Sau khi hoàn thành chín Lab và đưa sáu mô hình vào cùng một bảng, bạn sẽ thấy một bức tranh khác với dự đoán. Chúng ta đã dành chín bài để đếm số phép nhân, nhưng thứ thực sự trở thành nút thắt lại không phải là phép nhân. Sau đó, chúng ta sẽ hạ độ chính xác xuống dạng số nguyên, quản lý số chữ số và xây dựng cả tiêu chí để đánh giá mạch. Bạn không cần có bo mạch FPGA. Khóa học được thực hiện hoàn toàn bằng Python, còn bo mạch chỉ được sử dụng làm 기준 để quy đổi các giá trị đo được.

8 học viên đang tham gia khóa học này

Độ khó Trung cấp trở lên

Thời gian Không giới hạn

Python
Python
Machine Learning(ML)
Machine Learning(ML)
Artificial Neural Network
Artificial Neural Network
Numpy
Numpy
Scikit-Learn
Scikit-Learn
Python
Python
Machine Learning(ML)
Machine Learning(ML)
Artificial Neural Network
Artificial Neural Network
Numpy
Numpy
Scikit-Learn
Scikit-Learn

Bạn sẽ nhận được điều này sau khi học.

  • Có thể xem mô hình học máy để tính toán các tài nguyên mà nó yêu cầu trên chip.

  • Có thể lượng tử hóa các trọng số số thực thành số nguyên, đồng thời tính toán và xác định độ rộng bit của bộ tích lũy.

  • Có thể xây dựng một mô hình chuẩn bằng Python để xác minh mạch và thiết lập quy trình đối chiếu theo từng giá trị.

  • Có thể giải thích sự đánh đổi diện tích–thời gian giữa số lượng bộ nhân và số chu kỳ dưới góc độ thiết kế.

  • Bạn sẽ có 15 tập lệnh Python có thể chạy và thay đổi giá trị, cùng với các công cụ xác minh.

  • Có thể quy đổi số lần tính toán và yêu cầu bộ nhớ thành tỷ lệ phần trăm so với tài nguyên thực tế của bo mạch để đánh giá khả năng triển khai.

  • Bạn sẽ trực tiếp hoàn thiện bảng so sánh chi phí của sáu thuật toán theo cùng một tiêu chuẩn.

■ Giới thiệu bài giảng

Làm thế nào máy tính nhìn vào hình ảnh và nhận biết đó là gì?

Hình ảnh mà máy tính nhìn thấy là dữ liệu được tạo thành từ các con số. Machine learning là việc tìm ra các đặc trưng và quy luật từ những con số đó để đưa ra phán đoán về dữ liệu đầu vào mới. Quá trình này còn tiến thêm một bước nữa.

Cần những gì để chạy thuật toán học máy trên phần cứng thực tế?

Phần cứng cần thiết sẽ khác nhau tùy vào số lần cần thực hiện phép nhân, số lượng giá trị phải ghi nhớ và những phép tính có thể xử lý đồng thời. Trong khóa học này, bạn sẽ học máy học từ đầu, trực tiếp chạy 6 thuật toán và đo lường từng thuật toán theo bốn tiêu chí: phép nhân · phép so sánh · bộ nhớ · độ chính xác.

Mô hình có độ chính xác cao chưa chắc là mô hình phần cứng tốt.

Một số thuật toán có nhiều phép nhân, trong khi một số thuật toán khác có nhiều phép so sánh. Cũng có những bộ phân loại không sử dụng phép nhân lần nào, và có những mô hình có độ chính xác cao nhưng khó triển khai trên FPGA do yêu cầu về bộ nhớ.

Tự mình thực thi sự khác biệt này và xác nhận bằng các con số là trọng tâm của khóa học này.


■ Bạn sẽ học gì?

15 Lab kết nối thành một mạch liền.

Part 1 · Các phép toán cơ bản của machine learning
Bắt đầu từ cách hình ảnh được lưu dưới dạng mảng số, bạn sẽ hiểu về phép nhân và tích lũy, quá trình học cũng như phân loại đa lớp.

Part 2 · Chi phí thuật toán và phần cứng
Trong khi thực thi các thuật toán học máy khác nhau, chúng ta so sánh phép nhân, phép so sánh, bộ nhớ và độ chính xác theo cùng một tiêu chuẩn.

Phần 3 · Từ Python đến FPGA
Chuyển mô hình dấu phẩy động thành số nguyên, xác định phép dịch và độ rộng bit, đồng thời thiết lập tiêu chuẩn để xác minh mạch thực tế.

Đây là quá trình bắt đầu từ Python và tiến đến việc hướng tới triển khai phần cứng thực tế.


■ Đặc điểm của khóa học này

  • Ngay cả khi không có kiến thức nền tảng về machine learning, bạn vẫn có thể bắt đầu.

  • Không sử dụng thuật toán như một hộp đen, mà trực tiếp kiểm tra cần thực hiện những phép toán nào.

  • Không chỉ độ chính xác, chúng tôi còn đo cả phép nhân · phép so sánh · bộ nhớ.

  • Quy đổi kết quả đo theo tài nguyên FPGA thực tế.

  • Từ số thực dấu phẩy động, đi sâu đến phép toán số nguyên và độ rộng bit.

  • Bạn có thể đối chiếu hàng loạt kết quả thực thi của 15 Lab với nhật ký đáp án.


■ Khuyến nghị dành cho những người sau

  • Dành cho những ai muốn học máy học từ đầu, tập trung vào các nguyên lý

  • Những người tò mò về mối quan hệ giữa machine learning và FPGA·bán dẫn AI

  • Những người muốn học về thiết kế chip bán dẫn AI hoặc NPU

  • Dành cho những người muốn đánh giá mô hình không chỉ dựa trên độ chính xác mà còn xét đến khía cạnh tài nguyên phần cứng


■ Kiến thức tiên quyết và môi trường thực hành

Chỉ cần biết cú pháp Python cơ bản là bạn có thể bắt đầu. Không cần có kiến thức trước về machine learning và FPGA.

Phần thực hành sử dụng Anaconda · Jupyter Notebook · NumPy · scikit-learn · matplotlib.

Không cần bo mạch FPGA.
Arty S7-25 được sử dụng làm tiêu chuẩn để quy đổi chi phí của thuật toán thành tài nguyên phần cứng thực tế.


■ Tài liệu được cung cấp

  • 15 tập lệnh thực hành Python

  • Bộ dữ liệu học và kiểm thử cố định

  • Nhật ký đáp án và tập lệnh xác minh hàng loạt

  • Thực hành ứng dụng theo từng Lab


■ Chương trình học

Phần 1 Trước khi bắt đầu · 9 phút · Miễn phí
Phần 2 Dữ liệu và phép toán · 29 phút · Miễn phí
Phần 3 Huấn luyện và phân loại đa lớp · 31 phút
Phần 4 Thuật toán không phép nhân · 48 phút
Phần 5 Rút gọn và sáu mô hình · 44 phút
Phần 6 Đưa về số nguyên · 45 phút
Phần 7 Chuyển sang bo mạch · 31 phút

Tổng cộng khoảng 4 giờ

Công khai miễn phí hai phần đầu tiên. Đây không chỉ là video xem thử đơn thuần, mà bạn có thể trực tiếp trải nghiệm phương pháp giảng dạy thực tế và bài thực hành đầu tiên trước khi quyết định đăng ký khóa học.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Dành cho những ai biết cách xây dựng mô hình học máy nhưng không có tiêu chí để đánh giá liệu có thể triển khai mô hình đó lên FPGA hoặc ASIC hay không, nên mỗi lần đều phải quyết định dựa vào cảm tính.

  • Những người phụ trách bộ tăng tốc AI khi làm việc với chất bán dẫn hoặc FPGA, nhưng dù đọc tài liệu về thuật toán vẫn không hình dung được cần biến những gì thành mạch điện.

  • Những người đang chuẩn bị cho vị trí thiết kế chất bán dẫn AI nhưng bối rối không biết nên kết nối kiến thức máy học tập trung vào độ chính xác với kiến thức phần cứng tập trung vào tài nguyên như thế nào.

  • Những ai từng gặp trường hợp sau khi làm xong toàn bộ mô hình mới phát hiện bộ nhớ không đủ và phải làm lại từ đầu.

  • Những người đọc được chỉ số MAC của bài báo nhưng chưa từng quy đổi xem trên chip của chúng ta thì tương đương với bao nhiêu chu kỳ và bao nhiêu phần trăm.

Cần biết trước khi bắt đầu?

  • Cú pháp cơ bản của Python

  • Kinh nghiệm làm việc với mảng NumPy (không có cũng vẫn có thể tham gia khóa học)

  • Không cần có kiến thức nền tảng về máy học. Bạn sẽ trực tiếp xây dựng thuật toán trong quá trình này.

  • Bạn cũng không cần có kiến thức nền tảng về phần cứng. Những khái niệm cần thiết sẽ được giải thích ngay khi cần.

Xin chào
Đây là EdgeChipLab

Xác minh sự nghiệp

Tự mình thiết kế và triển khai chất bán dẫn AI bằng FPGA

Với tư cách là giáo sư đại học đang đương nhiệm, tôi đã đưa vào đây 30 năm kinh nghiệm trong ngành công nghiệp bán dẫn hệ thống cùng bí quyết nghiên cứu và giảng dạy về bán dẫn AI.

Bắt đầu từ vị trí nghiên cứu viên bán dẫn hệ thống tại Bộ phận DS của Samsung Electronics, trải qua các vị trí Director tại chi nhánh Anh và Đức, cũng như Trưởng nhóm Marketing·Kinh doanh System LSI, hiện là giáo sư giảng dạy kỹ thuật bán dẫn, trực tiếp thiết kế và kiểm chứng trên FPGA để xây dựng chương trình đào tạo mang tính thực tiễn.

Đây không phải là khóa học chỉ đơn thuần dạy cách sử dụng FPGA.
Bạn sẽ hiểu các thuật toán AI → trực tiếp thiết kế NPU và CPU bằng RTL → triển khai trên FPGA → kiểm chứng trên phần cứng thực tế → và cuối cùng mở rộng đến AI SoC.

Thuật toán AI → Thiết kế RTL → Triển khai FPGA → Xác minh Bit-True → AI SoC

 

Vượt qua lý thuyết để hiện thực hóa phần cứng AI thực tế

Chỉ với những kiến thức rời rạc và phiến diện thì khó có thể đạt được năng lực thiết kế chất bán dẫn AI ở cấp độ hệ thống.

Học viên không chỉ dừng lại ở việc sử dụng các IP dạng hộp đen hoàn chỉnh. Mục tiêu là từng bước trang bị năng lực thiết kế hệ thống, có thể tự thiết kế AI NPU và CPU RISC-V, tích hợp bộ nhớ cùng các thiết bị ngoại vi, và cuối cùng xây dựng AI SoC của riêng mình.

Bắt đầu từ những kiến thức cơ bản về transistor và mạch số, bạn sẽ tìm hiểu xuyên suốt từ FPGA, CPU, NPU đến phần cứng tăng tốc Transformer và LLM.

 

Xác minh kết quả nghiên cứu trên phần cứng FPGA thực tế.

Đây không phải là khóa học chỉ xem bằng mắt. Không dừng lại ở lý thuyết hay mô phỏng đơn thuần, bạn sẽ cho mạch bán dẫn AI do chính mình thiết kế hoạt động trên FPGA thực tế và thực hiện kiểm chứng Bit-True, trong đó kết quả RTL khớp với mô hình Python đến từng bit.

Chúng tôi cũng kết nối các kết quả nghiên cứu, bao gồm 4 bài báo được đăng trên KCI của giảng viên về AI bán dẫn, FPGA và RISC-V với nội dung đào tạo, từ đó đưa các công nghệ đã được kiểm chứng trong nghiên cứu vào thiết kế thực tế và triển khai trên FPGA.

Công khai mã nguồn cần thiết cho thực hành, bao gồm CPU RISC-V do chúng tôi tự phát triển, mã Python dùng để huấn luyện hình ảnh và Verilog RTL.

Được xây dựng xoay quanh bo mạch FPGA Arty S7-25 phổ thông và công cụ thiết kế Vivado miễn phí, khóa học giúp người học có thể tự mình tái hiện toàn bộ quy trình từ thiết kế, triển khai đến kiểm chứng.

Ngoài ra, cũng có thể sử dụng với các bo mạch FPGA của Digilent, bao gồm Zybo Z7. Bạn chỉ cần điều chỉnh ánh xạ chân XDC (bo mạch) và tham số chia tần số xung nhịp (RTL) cho phù hợp với bo mạch.

'NPU MNIST được xây dựng bằng FPGA' chỉ cần chỉnh sửa ánh xạ chân XDC, còn các bài giảng sử dụng OLED và Camera thì cần chỉnh sửa tham số chia tần số xung nhịp (RTL).

→Phần thực hành của khóa học được thiết lập các tham số chia tần dựa trên xung nhịp đầu vào 100 MHz của Arty S7. Vì các bo mạch khác có xung nhịp đầu vào khác nhau (ví dụ: Zybo Z7 là 125 MHz), bạn cần tính toán lại giá trị chia tần để đạt được cùng tần số mục tiêu. Nếu bỏ qua phần này, màn hình hoặc video sẽ không hiển thị bình thường, và rất dễ hiểu lầm là lỗi mã, vì vậy hãy kiểm tra kỹ.

 

Lộ trình full-stack liền mạch: từ cơ bản đến bộ tăng tốc mini LLM

Tất cả các bài giảng không phải là những mảnh ghép rời rạc, mà là hành trình hoàn thiện một hệ thống khổng lồ duy nhất.

  • Bước 1: Cơ sở lý thuyết AI và xử lý hình ảnh (bao gồm Machine Learning)

  • Step 2: Thiết kế và kiểm chứng bộ gia tốc AI (NPU) (bao gồm Machine Learning)

  • Bước 3: Thiết kế CPU RISC-V và tích hợp hệ thống

  • Bước 4: Triển khai SoC AI nâng cao và mở rộng thành nền tảng tăng tốc mini LLM (liên tục cập nhật nội dung)

     

 

Các chỉ số kiểm chứng khách quan

Tất cả các sản phẩm thiết kế của khóa học này đều đã trải qua quá trình kiểm chứng nghiêm ngặt theo các tiêu chuẩn toàn cầu và giới học thuật.

  • Xác minh kiến trúc RISC-V: CPU RISC-V do chúng tôi tự phát triển đã vượt qua bài kiểm tra tuân thủ chính thức (ACT) của tổ chức quốc tế và công khai mã nguồn (GitHub)

  • Uy tín học thuật: 4 bài báo học thuật với tư cách tác giả duy nhất (đăng trên tạp chí danh tiếng IJIBC thuộc danh mục học thuật KCI hạng A)

  • Được công nhận toàn cầu: Đã xuất bản 2 cuốn sách công nghệ trên Amazon toàn cầu (đạt hạng 3 trong danh sách bán chạy nhất)

  • Đã hoàn tất xác minh hoạt động thực tế: Các IP cốt lõi như CPU RV32I, NPU, hệ thống thị giác, GPS, Transformer, SoC AURA-Edge đều hoạt động hoàn hảo trong môi trường Arty S7

Hãy thử thách bản thân. Khi quá trình tự mình đưa mã lên bo mạch và kiểm tra kết quả này kết thúc, bạn sẽ nâng tầm trở thành một kỹ sư phần cứng với tầm nhìn hoàn toàn khác so với trước đây.

Thêm

Chương trình giảng dạy

Tất cả

7 bài giảng ∙ (3giờ 23phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

Khóa học khác của EdgeChipLab

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!

Giảm 25% cho thành viên mới

1.328.669 ₫

25%

1.771.559 ₫