Logo Zephyrnet

Thiết kế bộ xử lý lật trên đầu của nó

Ngày:

AI đang thay đổi thiết kế bộ xử lý theo những cách cơ bản, kết hợp các yếu tố xử lý tùy chỉnh cho khối lượng công việc AI cụ thể với bộ xử lý truyền thống hơn cho các tác vụ khác.

Nhưng sự đánh đổi ngày càng khó hiểu, phức tạp và khó quản lý. Ví dụ: khối lượng công việc có thể thay đổi nhanh hơn thời gian cần thiết để tạo ra các thiết kế tùy chỉnh. Ngoài ra, AI-các quy trình cụ thể có thể vượt quá ngân sách về điện và nhiệt, điều này có thể yêu cầu điều chỉnh khối lượng công việc. Và việc tích hợp tất cả những phần này có thể tạo ra những vấn đề cần giải quyết ở cấp độ hệ thống, không chỉ ở con chip.

“Khối lượng công việc AI đã thay đổi hoàn toàn kiến ​​trúc bộ xử lý,” Steven Woo, đồng nghiệp và nhà phát minh nổi tiếng tại Rambus. “Rõ ràng là các kiến ​​trúc hiện tại hoạt động không thực sự tốt. Khi mọi người bắt đầu nhận ra vào khung thời gian năm 2014 rằng bạn có thể sử dụng GPU và đạt được hiệu suất giao dịch vượt trội, điều đó đã mang lại cho AI một sự thúc đẩy to lớn. Đó là lúc mọi người bắt đầu nói: 'GPU là một loại kiến ​​trúc chuyên biệt'. Chúng ta có thể làm nhiều hơn nữa không?” Rõ ràng vào thời điểm đó, việc tích lũy bội số, vốn rất phổ biến trong AI, chính là điểm nghẽn. Bây giờ bạn đã có tất cả phần cứng tuyệt vời này. Chúng tôi đã có những thứ tích lũy nhân lên. Vậy chúng ta còn phải đưa gì vào phần cứng nữa? Đó thực sự là ý nghĩa của kiến ​​trúc. Tất cả chỉ là tìm cái cọc cao hoặc cột lều dài trong lều và hạ nó xuống.”

Những người khác đồng ý. “AI chỉ hỗ trợ kiến ​​trúc GPU và đó là lý do tại sao NVIDIA có vốn hóa thị trường nghìn tỷ đô la,” cho biết Ansys đạo diễn Rich Goldman. “Thật thú vị, Intel đã sản xuất GPU từ lâu nhưng bên trong CPU của họ để điều khiển bộ xử lý video. Bây giờ họ đang làm GPU độc lập. Ngoài ra, AMD có kiến ​​trúc rất thú vị, trong đó GPU và CPU chia sẻ bộ nhớ. Tuy nhiên, CPU vẫn quan trọng. Grace Hopper của NVIDIA là sự kết hợp CPU-GPU, bởi vì không phải mọi thứ đều phù hợp với kiến ​​trúc GPU. Ngay cả trong các ứng dụng làm được điều đó, vẫn có những bộ phận chỉ chạy các CPU nhỏ. Trong nhiều thập kỷ, chúng ta đã chạy mọi thứ trên kiến ​​trúc CPU x86, có thể là kiến ​​trúc RISC, nhưng đó là CPU. Các ứng dụng khác nhau chạy tốt hơn trên các kiến ​​trúc khác nhau và tình cờ là NVIDIA tập trung đầu tiên vào trò chơi điện tử, sau đó chuyển sang hoạt hình và phim. Kiến trúc tương tự đó rất phù hợp với trí tuệ nhân tạo, thứ đang thúc đẩy mọi thứ ngày nay.”

Thách thức hiện nay là làm thế nào để phát triển các nền tảng hiệu quả hơn có thể được tối ưu hóa cho các trường hợp sử dụng cụ thể. “Khi bạn triển khai thứ này trong phần cứng có khả năng mở rộng thực sự, không chỉ trong các trường hợp sử dụng một lần, thì thách thức sẽ trở thành cách bạn chạy thứ này?” Suhas Mitra, giám đốc tiếp thị sản phẩm của Tensilica AI Products tại Nhịp. “Theo truyền thống trong bộ xử lý, chúng tôi có CPU. Và nếu bạn có nền tảng di động, bạn có GPU, DSP, v.v. Tất cả những điều này trở nên rắc rối vì mọi người thấy những khối lượng công việc này đôi khi song song một cách đáng xấu hổ. Và với sự ra đời của điện toán song song, đó là lý do khiến GPU trở nên rất phổ biến - chúng có các công cụ phần cứng rất tốt có thể xử lý song song - các nhà cung cấp dễ dàng kiếm tiền ngay lập tức.”

Điều này hoạt động tốt nhất khi khối lượng công việc được hiểu rõ ràng, Sharad Chole, nhà khoa học trưởng tại nhà thám hiểm. “Trong các loại kiến ​​trúc đó, giả sử bạn đang cố gắng tích hợp ISP và NPU theo kiểu kết hợp chặt chẽ trong các kiến ​​trúc biên. Các nhà lãnh đạo SoC đang xem xét cách họ có thể giảm diện tích và công suất cho thiết kế.”

Chole cho biết, thách thức ở đây là phải hiểu được ý nghĩa về độ trễ của phần bộ nhớ trong kiến ​​trúc. “Nếu NPU chậm, bộ nhớ sẽ trông như thế nào? Khi NPU nhanh, bộ nhớ sẽ trông như thế nào? Cuối cùng, câu hỏi giữa việc cân bằng MAC và cân bằng bộ nhớ xuất phát từ việc chúng tôi đang cố gắng giảm thiểu nhiều nhất có thể tình trạng đệm đầu vào và đầu ra.”

Băng thông bộ nhớ ngoài cũng là một phần quan trọng trong vấn đề này, đặc biệt đối với các thiết bị biên. “Không ai có đủ băng thông,” ông nói thêm. “Vậy làm cách nào để phân vùng khối lượng công việc hoặc lên lịch cho mạng nơ-ron sao cho băng thông bộ nhớ ngoài được duy trì và ở mức thấp nhất có thể? Về cơ bản, đó là điều chúng tôi thực hiện bằng cách thực hiện đóng gói hoặc chia mạng thần kinh thành các phần nhỏ hơn và cố gắng thực hiện cả hai phần.”

Thiết kế cho một tương lai thay đổi nhanh chóng
Một trong những vấn đề lớn với AI là các thuật toán và mô hình điện toán đang phát triển và thay đổi nhanh hơn mức chúng có thể được thiết kế từ đầu.

Rambus' Woo cho biết: “Nếu bạn nói rằng bạn sẽ xây dựng một CPU thực sự tuyệt vời ở các mẫu LSTM (bộ nhớ ngắn hạn) này, thì chu kỳ đó là một vài năm”. “Sau đó, bạn nhận ra rằng trong hai năm, các mô hình LSTM đã đến và đi như một xu hướng thống trị. Bạn muốn làm phần cứng chuyên dụng nhưng phải làm nhanh hơn để theo kịp. Chén thánh sẽ là nếu chúng ta có thể tạo ra phần cứng nhanh nhất có thể để thay đổi thuật toán. Điều đó thật tuyệt, nhưng chúng tôi không thể làm điều đó mặc dù ngành này đang bị áp lực phải làm điều đó.”

Điều này cũng có nghĩa là kiến ​​trúc của bộ xử lý xử lý khối lượng công việc AI sẽ khác với bộ xử lý không tập trung vào khối lượng công việc AI. “Nếu bạn nhìn vào những công cụ này để thực hiện đào tạo, chúng sẽ không chạy Linux hoặc Word, vì chúng không được thiết kế cho mục đích phân nhánh chung, nhiều hướng dẫn hoặc hỗ trợ nhiều loại ngôn ngữ,” Woo nói. “Chúng là những động cơ cơ bản được chế tạo để hoạt động rất nhanh trong một số ít loại hoạt động. Chúng được điều chỉnh cao để phù hợp với các kiểu di chuyển dữ liệu cụ thể cần thiết để thực hiện các phép tính. Ví dụ: trong Google TPU, kiến ​​trúc mảng tâm thu đã có từ những năm 1980. Nó rất tốt khi thực hiện một loại công việc cụ thể được phân bổ rất đồng đều trên các mảng dữ liệu lớn, vì vậy nó hoàn hảo cho các mạng thần kinh dày đặc này. Nhưng việc chạy mã có mục đích chung không phải là điều mà những thứ này được thiết kế để làm. Chúng giống như những bộ đồng xử lý khổng lồ thực hiện rất tốt phần lớn công việc tính toán, nhưng chúng vẫn cần giao tiếp với một thứ khác có thể quản lý phần còn lại của quá trình tính toán.”

Ngay cả việc đo điểm chuẩn cũng khó khăn vì nó không phải lúc nào cũng là sự so sánh giữa táo với táo và điều đó gây khó khăn cho việc phát triển kiến ​​trúc. Chole của Expedera cho biết: “Đây là một chủ đề khó vì những người khác nhau sử dụng các công cụ khác nhau để điều hướng vấn đề này”. “Công việc hàng ngày của kỹ sư thiết kế trông như thế nào là đo điểm chuẩn cấp hệ thống. Mỗi bộ phận của SoC mà bạn đánh giá riêng lẻ và bạn đang cố gắng ngoại suy dựa trên những con số đó thì băng thông cần thiết là bao nhiêu. 'Đây là hiệu suất, đây là độ trễ mà tôi sẽ nhận được.' Dựa vào đó, bạn đang cố gắng ước tính toàn bộ hệ thống sẽ trông như thế nào. Nhưng khi chúng tôi thực sự đạt được nhiều tiến bộ hơn trong quá trình thiết kế, thì chúng tôi đang xem xét một số cách tiếp cận dựa trên mô phỏng trong đó nó không phải là mô phỏng toàn diện — như mô phỏng giao dịch chính xác trong mô phỏng đó để đạt được hiệu suất và độ chính xác chính xác. yêu cầu băng thông cho các khối thiết kế khác nhau. Ví dụ: có RISC-V và có NPU, chúng phải hoạt động cùng nhau và cùng tồn tại hoàn toàn. Họ có phải được dẫn đường không? Khối lượng công việc của họ có thể được điều chỉnh không? RISC yêu cầu bao nhiêu chu kỳ chính xác? Để làm được điều đó, chúng tôi phải biên dịch chương trình trên RISC-V, biên dịch chương trình của chúng tôi trên NPU, sau đó đồng mô phỏng chương trình đó.”

Tác động của khối lượng công việc AI đến thiết kế bộ xử lý
Tất cả những biến số này đều tác động đến sức mạnh, hiệu suất và diện tích/chi phí của thiết kế.

Theo Ian Bratt, đồng nghiệp và giám đốc công nghệ cao cấp tại Cánh tay“Sự cân bằng PPA cho khối lượng công việc ML tương tự như sự cân bằng mà tất cả các kiến ​​trúc sư phải đối mặt khi xem xét khả năng tăng tốc – hiệu quả năng lượng so với diện tích. Trong vài năm qua, CPU đã xử lý khối lượng công việc ML tốt hơn đáng kể với việc bổ sung các hướng dẫn tăng tốc dành riêng cho ML. Nhiều khối lượng công việc ML sẽ chạy tốt trên CPU hiện đại. Tuy nhiên, nếu bạn đang ở trong một môi trường năng lượng bị hạn chế cao thì có thể bạn nên trả thêm chi phí diện tích silicon để bổ sung NPU chuyên dụng, loại NPU này tiết kiệm năng lượng hơn CPU dành cho suy luận ML. Hiệu quả này phải trả giá bằng diện tích silicon bổ sung và hy sinh tính linh hoạt; IP NPU thường chỉ có thể chạy các mạng thần kinh. Ngoài ra, một thiết bị chuyên dụng như NPU cũng có thể có khả năng đạt được hiệu suất tổng thể cao hơn (độ trễ thấp hơn) so với thành phần linh hoạt hơn như CPU.”

Russell Klein, giám đốc chương trình Siemens EDA's Bộ phận Phần mềm Catapult giải thích: “Có hai khía cạnh chính của thiết kế sẽ tác động đáng kể nhất đến các đặc tính vận hành của nó, hay PPA. Một là biểu diễn dữ liệu được sử dụng trong tính toán. Số dấu phẩy động thực sự khá kém hiệu quả đối với hầu hết các phép tính học máy. Sử dụng cách trình bày phù hợp hơn có thể giúp thiết kế nhanh hơn, nhỏ hơn và tiêu thụ điện năng thấp hơn.”

Yếu tố chính khác là số lượng phần tử tính toán trong thiết kế. Klein nói: “Về cơ bản, có bao nhiêu số nhân sẽ được tích hợp vào thiết kế. “Điều này mang lại sự song song, điều cần thiết để mang lại hiệu suất. Một thiết kế có thể có số lượng lớn các hệ số nhân, làm cho nó lớn, ngốn điện và nhanh. Hoặc nó có thể chỉ có một ít, làm cho nó nhỏ và có công suất thấp nhưng chậm hơn rất nhiều. Một số liệu bổ sung, ngoài sức mạnh, hiệu suất và diện tích, rất quan trọng là năng lượng trên mỗi suy luận. Bất cứ thứ gì chạy bằng pin hoặc thu năng lượng đều có thể sẽ nhạy cảm hơn với năng lượng trên mỗi suy luận so với năng lượng.”

Việc biểu diễn bằng số của các tính năng và trọng lượng cũng có thể có tác động đáng kể đến PPA của thiết kế.

“Trong trung tâm dữ liệu, mọi thứ đều là số dấu phẩy động 32 bit. Các cách biểu diễn thay thế có thể giảm kích thước của toán tử cũng như lượng dữ liệu cần được di chuyển và lưu trữ,” ông lưu ý. “Hầu hết các thuật toán AI không cần phạm vi đầy đủ mà số dấu phẩy động hỗ trợ và hoạt động tốt với số dấu phẩy cố định. Hệ số nhân điểm cố định thường có diện tích và công suất bằng khoảng ½ diện tích của hệ số nhân dấu phẩy động tương ứng và chúng chạy nhanh hơn. Thông thường, 32 bit biểu diễn điểm cố định cũng không cần thiết. Nhiều thuật toán có thể giảm độ rộng bit của các tính năng và trọng lượng xuống 16 bit hoặc trong một số trường hợp là 8 bit hoặc thậm chí nhỏ hơn. Kích thước và công suất của số nhân tỷ lệ thuận với bình phương kích thước của dữ liệu mà nó hoạt động. Vì vậy, số nhân 16 bit bằng ¼ diện tích và công suất của số nhân 32 bit. Hệ số nhân điểm cố định 8 bit tiêu thụ khoảng 3% diện tích và công suất như hệ số nhân dấu phẩy động 32 bit. Nếu thuật toán có thể sử dụng số điểm cố định 8 bit thay vì dấu phẩy động 32 bit thì chỉ cần ¼ bộ nhớ để lưu trữ dữ liệu và ¼ băng thông bus để di chuyển dữ liệu. Đây là những khoản tiết kiệm đáng kể về diện tích và điện năng. Bằng cách thực hiện đào tạo nhận thức lượng tử hóa, độ rộng bit cần thiết có thể giảm hơn nữa. Thông thường, các mạng được huấn luyện theo kiểu nhận biết lượng tử hóa cần khoảng ½ độ rộng bit như mạng lượng tử hóa sau đào tạo. Điều này giúp giảm ½ chi phí lưu trữ và liên lạc cũng như giảm ¾ diện tích hệ số nhân và công suất. Lượng tử hóa các mạng được đào tạo nhận biết thường chỉ yêu cầu 3-8 bit biểu diễn điểm cố định. Đôi khi, một số lớp có thể chỉ là một bit. Và hệ số nhân 1 bit là cổng “và”.

Ngoài ra, khi tích cực lượng tử hóa mạng, tình trạng tràn mạng sẽ trở thành một vấn đề nghiêm trọng. “Với số dấu phẩy động 32 bit, các nhà phát triển không cần phải lo lắng về các giá trị vượt quá khả năng biểu diễn. Nhưng với số điểm cố định nhỏ thì điều này phải được giải quyết. Có khả năng tình trạng tràn sẽ xảy ra thường xuyên. Sử dụng toán tử bão hòa là một cách để khắc phục điều này. Thay vì tràn, thao tác sẽ lưu trữ giá trị lớn nhất có thể cho biểu diễn. Hóa ra điều này hoạt động rất tốt đối với các thuật toán học máy, vì độ lớn chính xác của một tổng trung gian lớn là không đáng kể, chỉ cần nó lớn là đủ. Việc sử dụng toán học bão hòa cho phép các nhà phát triển loại bỏ và bổ sung thêm một hoặc hai bit so với kích thước của số điểm cố định mà họ đang sử dụng. Một số mạng thần kinh cần phạm vi động được cung cấp bởi các biểu diễn dấu phẩy động. Đơn giản là chúng mất quá nhiều độ chính xác khi chuyển đổi thành điểm cố định hoặc yêu cầu nhiều hơn 32 bit biểu diễn để mang lại độ chính xác tốt. Trong trường hợp này có một số cách biểu diễn dấu phẩy động có thể được sử dụng. B-float16 (hoặc “brain float”) do Google phát triển cho NPU của họ, là một float 16 bit có thể dễ dàng chuyển đổi sang và từ dấu phẩy động truyền thống. Đối với số điểm cố định nhỏ hơn, nó dẫn đến số nhân nhỏ hơn và lưu trữ và di chuyển dữ liệu ít hơn. Ngoài ra còn có số dấu phẩy động 754 bit IEEE-16 và Tensorfloat của NVIDIA,” Klein nói thêm.

Sử dụng bất kỳ thứ nào trong số này sẽ dẫn đến thiết kế nhỏ hơn, nhanh hơn, tiêu thụ điện năng thấp hơn.

Ngoài ra, Woo còn nói: “Nếu bạn có cốt lõi đa năng, nó thực sự giỏi làm nhiều việc, nhưng sẽ không làm tốt được việc nào trong số đó. Nó chỉ là chung chung. Tại bất kỳ thời điểm nào khi bạn đang thực hiện khối lượng công việc của mình, sẽ có những phần của lõi đa năng đó đang được sử dụng và những phần thì không. Cần không gian, cần sức mạnh để có được những thứ này. Điều mọi người bắt đầu nhận ra là Định luật Moore vẫn đang cung cấp cho chúng ta nhiều bóng bán dẫn hơn, vì vậy có lẽ điều đúng đắn cần làm là xây dựng những lõi chuyên dụng này để thực hiện tốt một số nhiệm vụ nhất định trong quy trình AI. Đôi khi bạn sẽ tắt chúng đi và đôi khi bạn sẽ bật chúng lên. Nhưng điều đó tốt hơn là có những lõi đa năng này, nơi bạn luôn lãng phí diện tích và điện năng và không bao giờ có được hiệu suất tốt nhất. Cùng với một thị trường sẵn sàng trả tiền - một thị trường có tỷ suất lợi nhuận rất cao, đồng đô la cao - đó là một sự kết hợp tuyệt vời.”

Đó cũng là một cách tiếp cận tương đối dễ hiểu trong thế giới kỹ thuật phần cứng “Bạn mở phiên bản 1 và sau khi cài đặt nó, bạn sẽ tìm hiểu xem cái nào hoạt động, cái gì không, và bạn thử khắc phục các vấn đề,” Marc Swinnen nói. , giám đốc tiếp thị sản phẩm tại Ansys. “Các ứng dụng bạn chạy rất quan trọng để hiểu được những sự cân bằng này cần phải như thế nào. Nếu bạn có thể làm cho phần cứng của mình phù hợp với các ứng dụng bạn muốn chạy, bạn sẽ có được thiết kế hiệu quả hơn nhiều so với việc sử dụng những thứ có sẵn. Con chip bạn tự tạo ra sẽ phù hợp một cách lý tưởng với chính xác những gì bạn muốn làm.”

Đây là lý do tại sao một số nhà phát triển AI sáng tạo đang khám phá việc xây dựng silicon của riêng họ, điều này cho thấy rằng trong mắt họ, ngay cả chất bán dẫn hiện tại cũng không đủ tốt cho những gì họ muốn làm trong tương lai. Đây là một ví dụ nữa về cách AI đang thay đổi thiết kế bộ xử lý và động lực thị trường xung quanh.

AI cũng có thể sẽ tham gia sâu vào thế giới chiplet, nơi các khối phần cứng bán tùy chỉnh và tùy chỉnh có thể được mô tả và thêm vào thiết kế mà không cần phải tạo mọi thứ từ đầu. Các nhà sản xuất chip lớn như Intel và AMD đã thực hiện việc này trong nội bộ một thời gian, nhưng các công ty không có khả năng sáng tạo đang gặp bất lợi.

“Vấn đề là các chiplet của bạn phải cạnh tranh với các giải pháp hiện có,” Andy Heinig, trưởng bộ phận điện tử hiệu quả tại công ty cho biết. Fraunhofer IIS ' Kỹ thuật của Phòng Hệ thống Thích ứng. “Và nếu hiện tại bạn không tập trung vào hiệu suất thì bạn không thể cạnh tranh được. Mọi người đang tập trung vào việc thiết lập và vận hành hệ sinh thái này. Nhưng theo quan điểm của chúng tôi, đó giống như vấn đề con gà và quả trứng. Bạn cần hiệu năng, đặc biệt vì chip đắt hơn giải pháp SoC. Nhưng hiện tại bạn không thể thực sự tập trung vào hiệu suất vì trước tiên bạn phải thiết lập và vận hành hệ sinh thái này.”

Sự khởi đầu đúng đắn
Không giống như trước đây, khi nhiều chip được thiết kế cho một ổ cắm, với AI, tất cả đều phụ thuộc vào khối lượng công việc.

Chole của Expedera cho biết: “Điều rất quan trọng khi diễn ra những sự cân bằng này là phải có ý tưởng về mục tiêu trong đầu”. “Nếu bạn chỉ nói: 'Tôi muốn làm mọi thứ và hỗ trợ mọi thứ' thì bạn đang không thực sự tối ưu hóa bất cứ điều gì. Về cơ bản, bạn chỉ cần đặt một giải pháp có mục đích chung vào đó và hy vọng nó sẽ đáp ứng được yêu cầu về năng lượng của bạn. Điều đó, theo hiểu biết của chúng tôi, hiếm khi có tác dụng. Mỗi mạng nơ-ron và mọi trường hợp triển khai trên các thiết bị biên đều là duy nhất. Nếu chip của bạn được đưa vào tai nghe và chạy RNN, thay vì đặt trong chip ADAS và chạy máy biến áp, thì đó là một trường hợp sử dụng hoàn toàn khác. NPU, hệ thống bộ nhớ, cấu hình và mức tiêu thụ điện năng hoàn toàn khác nhau. Vì vậy, điều rất quan trọng là chúng ta phải hiểu nhóm khối lượng công việc quan trọng mà chúng ta muốn thử là gì. Đây có thể là nhiều mạng. Bạn phải đi đến điểm mà nhóm thống nhất về các mạng quan trọng và tối ưu hóa dựa trên các mạng đó. Điều đó bị thiếu khi các nhóm kỹ thuật đang nghĩ về NPU. Họ chỉ nghĩ rằng họ muốn có được thứ tốt nhất trên thế giới, nhưng bạn không thể có được thứ tốt nhất nếu không đánh đổi thứ gì đó. Tôi có thể cung cấp cho bạn điều tốt nhất, nhưng bạn muốn điều tốt nhất ở lĩnh vực nào?

Mitra của Cadence lưu ý rằng mọi người đều nghĩ về PPA theo cách tương tự nhau, nhưng sau đó mọi người nhấn mạnh phần nào về sức mạnh, hiệu suất, diện tích/chi phí (PPAC) mà họ quan tâm. “Nếu bạn là người làm trung tâm dữ liệu, bạn có thể đồng ý hy sinh một chút diện tích, bởi vì thứ bạn đang hướng tới là những cỗ máy có thông lượng rất cao vì bạn cần thực hiện hàng tỷ suy luận AI hoặc các thứ liên quan đến AI, mà cùng một lúc là giao dịch thị phần trong khi chạy các mô hình khổng lồ dẫn đến lượng dữ liệu khổng lồ. Đã qua lâu rồi cái thời bạn có thể nghĩ về một chiếc máy tính để bàn chạy mọi thứ để phát triển mô hình AI hoạt động để suy luận nhưng ngay cả việc suy luận đối với một số mô hình ngôn ngữ lớn này cũng trở nên khá phức tạp. Điều đó có nghĩa là bạn cần một cụm dữ liệu khổng lồ và bạn cần tính toán dữ liệu khổng lồ trên quy mô trung tâm dữ liệu tại các siêu quy mô.”

Ngoài ra còn có những cân nhắc khác. William Ruby, giám đốc quản lý sản phẩm của công ty cho biết: “Các quyết định về kiến ​​trúc phần cứng thúc đẩy điều này, nhưng vai trò của phần mềm cũng rất quan trọng”. Tóm tắt nội dung ' EDA Group, lưu ý rằng hiệu suất so với hiệu quả năng lượng là yếu tố then chốt. “Cần bao nhiêu bộ nhớ? Hệ thống con bộ nhớ sẽ được phân vùng như thế nào? Mã phần mềm có thể được tối ưu hóa để tiết kiệm năng lượng không? (Có, có thể.) Việc lựa chọn công nghệ xử lý cũng rất quan trọng – vì tất cả các lý do về PPAC.”

Hơn nữa, nếu hiệu quả sử dụng năng lượng không phải là ưu tiên hàng đầu thì GPU nhúng có thể được sử dụng, theo Gordon Cooper, giám đốc sản phẩm bộ xử lý AI/ML tại Synopsys. “Nó sẽ mang đến cho bạn sự linh hoạt tốt nhất trong việc mã hóa, nhưng sẽ không bao giờ tiết kiệm điện năng và diện tích như các bộ xử lý chuyên dụng. Nếu bạn đang thiết kế với NPU thì vẫn cần phải đánh đổi giữa diện tích cân bằng và công suất. Việc giảm thiểu bộ nhớ trên chip sẽ làm giảm đáng kể tổng diện tích của bạn nhưng sẽ tăng tốc độ truyền dữ liệu từ bộ nhớ ngoài, điều này làm tăng đáng kể năng lượng. Việc tăng bộ nhớ trên chip sẽ làm giảm năng lượng từ việc đọc và ghi bộ nhớ ngoài.”

Kết luận
Tất cả những vấn đề này ngày càng trở thành vấn đề của hệ thống chứ không chỉ là vấn đề về chip.

“Mọi người nhìn vào phần đào tạo AI và nghĩ, 'Ồ, nó thực sự nặng về mặt tính toán. Có rất nhiều chuyển động dữ liệu'”, Woo nói. “Và một khi bạn muốn ném tất cả phần cứng tăng tốc này vào nó, thì phần còn lại của hệ thống sẽ bắt đầu cản trở. Vì lý do này, chúng ta ngày càng thấy những nền tảng này từ các công ty như NVIDIA và các công ty khác, những công ty có công cụ đào tạo AI phức tạp nhưng cũng có thể có chip Intel Xeon trong đó. Đó là bởi vì có một phần tính toán khác mà các công cụ AI không phù hợp để thực hiện. Chúng không được thiết kế để chạy mã có mục đích chung, vì vậy đây ngày càng trở thành một vấn đề hệ thống không đồng nhất. Bạn phải kết hợp mọi thứ lại với nhau.”

Phần còn lại của vấn đề nằm ở phía phần mềm, phần này có thể được thực hiện hiệu quả hơn thông qua nhiều phương pháp khác nhau, chẳng hạn như giảm thiểu. “Đây là nhận thức rằng trong AI, có một phần cụ thể của thuật toán và một phép tính cụ thể được gọi là rút gọn, đây là một cách thú vị để lấy nhiều số và giảm nó xuống còn một số hoặc tập hợp số nhỏ,” Woo giải thích. “Có thể là cộng tất cả chúng lại với nhau hoặc điều gì đó tương tự. Cách thông thường để thực hiện việc này là nếu bạn có tất cả dữ liệu đến từ tất cả các bộ xử lý khác này, hãy gửi nó qua mạng kết nối tới một bộ xử lý và yêu cầu bộ xử lý đó thêm mọi thứ. Tất cả những con số này đều đi qua mạng này thông qua các thiết bị chuyển mạch để đến bộ xử lý này. Vậy tại sao chúng ta không thêm chúng vào công tắc, bởi vì tất cả chúng đều hoạt động theo công tắc? Ưu điểm là nó tương tự như xử lý nội tuyến. Điều thú vị là sau khi thêm mọi thứ vào công tắc, bạn chỉ cần cung cấp một số, điều đó có nghĩa là lưu lượng truy cập mạng sẽ giảm xuống.”

Woo cho biết những cân nhắc về kiến ​​trúc như thế này đáng được xem xét vì chúng giải quyết được nhiều vấn đề cùng một lúc. Đầu tiên, việc di chuyển dữ liệu qua các mạng cực kỳ chậm và điều đó yêu cầu bạn di chuyển ít dữ liệu nhất có thể. Thứ hai, nó loại bỏ công việc dư thừa là cung cấp dữ liệu đến bộ xử lý chỉ để bộ xử lý thực hiện tất cả các phép toán rồi gửi lại kết quả. Tất cả đều được thực hiện trong mạng. Và thứ ba, nó rất song song nên bạn có thể yêu cầu mỗi bộ chuyển mạch thực hiện một phần tính toán đó.

Tương tự như vậy, Chole của Expedera cho biết khối lượng công việc AI hiện có thể được xác định bằng một biểu đồ duy nhất. “Có biểu đồ đó không phải dành cho một tập hợp nhỏ các hướng dẫn. Chúng tôi không làm một bổ sung. Chúng tôi đang thực hiện hàng triệu phép cộng cùng một lúc hoặc chúng tôi đang thực hiện 10 triệu phép nhân ma trận cùng một lúc. Điều đó thay đổi mô hình về những gì bạn đang nghĩ về việc thực hiện, cách bạn nghĩ về các hướng dẫn, cách bạn có thể nén các hướng dẫn, cách bạn có thể dự đoán và lên lịch cho các hướng dẫn. Làm điều này trong CPU có mục đích chung là không thực tế. Có quá nhiều chi phí để có thể làm được điều này. Tuy nhiên, là một mạng thần kinh, nơi số lượng MAC hoạt động đồng thời là rất lớn, cách bạn có thể tạo hướng dẫn, tạo hướng dẫn, nén hướng dẫn, lên lịch hướng dẫn, thay đổi rất nhiều về cách sử dụng và băng thông. Đó là tác động lớn của AI đối với khía cạnh kiến ​​trúc bộ xử lý.”

Đọc liên quan
Bộ xử lý phân vùng cho khối lượng công việc AI
Xử lý có mục đích chung và thiếu tính linh hoạt không còn lý tưởng cho khối lượng công việc AI/ML.
Đánh đổi bộ xử lý cho khối lượng công việc AI
Khoảng cách đang ngày càng lớn giữa tiến bộ công nghệ và nhu cầu, và việc thu hẹp chúng ngày càng trở nên khó khăn hơn.
Chuyên môn Vs. Khái quát hóa trong bộ xử lý
Cần phải làm gì để đạt được khả năng tùy biến hàng loạt ở biên, với hiệu suất cao và tiêu thụ điện năng thấp.

tại chỗ_img

Tin tức mới nhất

tại chỗ_img