Logo Zephyrnet

Công cụ dự đoán mã sẽ chạy nhanh như thế nào trên chip

Ngày:

Các nhà nghiên cứu của MIT đã phát minh ra một công cụ máy học dự đoán tốc độ các chip máy tính sẽ thực thi mã từ các ứng dụng khác nhau.  

Để mã chạy nhanh nhất có thể, các nhà phát triển và trình biên dịch — các chương trình dịch ngôn ngữ lập trình thành mã mà máy có thể đọc được — thường sử dụng các mô hình hiệu suất chạy mã thông qua mô phỏng các kiến ​​trúc chip nhất định. 

Trình biên dịch sử dụng thông tin đó để tự động tối ưu hóa mã và các nhà phát triển sử dụng thông tin đó để giải quyết các tắc nghẽn về hiệu suất trên các bộ vi xử lý sẽ chạy mã đó. Nhưng các mô hình hiệu suất cho mã máy được viết tay bởi một nhóm chuyên gia tương đối nhỏ và không được xác thực hợp lệ. Do đó, các phép đo hiệu suất mô phỏng thường sai lệch so với kết quả thực tế. 

Trong một loạt bài báo hội nghị, các nhà nghiên cứu đã mô tả một quy trình học máy mới giúp tự động hóa quy trình này, giúp quá trình này dễ dàng hơn, nhanh hơn và chính xác hơn. trong một giấy được trình bày tại Hội nghị quốc tế về học máy vào tháng XNUMX, các nhà nghiên cứu đã trình bày Ithemal, một mô hình mạng nơ-ron huấn luyện dữ liệu được dán nhãn dưới dạng “các khối cơ bản” - các đoạn cơ bản của hướng dẫn máy tính - để tự động dự đoán thời gian cần thiết cho một khoảng thời gian nhất định. chip để thực hiện các khối cơ bản chưa từng thấy trước đó. Kết quả cho thấy Ithemal hoạt động chính xác hơn nhiều so với các mẫu điều chỉnh bằng tay truyền thống. 

Sau đó, tại Hội nghị chuyên đề quốc tế về đặc tính khối lượng công việc của IEEE vào tháng XNUMX, các nhà nghiên cứu trình bày một bộ điểm chuẩn gồm các khối cơ bản từ nhiều miền khác nhau, bao gồm học máy, trình biên dịch, mật mã và đồ họa có thể được sử dụng để xác thực các mô hình hiệu suất. Họ đã tổng hợp hơn 300,000 khối được định hình thành một bộ dữ liệu nguồn mở có tên là BHive. Trong quá trình đánh giá của họ, Ithemal đã dự đoán chip Intel sẽ chạy mã nhanh như thế nào thậm chí còn tốt hơn so với mô hình hiệu suất do chính Intel xây dựng. 

Cuối cùng, các nhà phát triển và trình biên dịch có thể sử dụng công cụ này để tạo mã chạy nhanh hơn và hiệu quả hơn trên số lượng thiết kế chip “hộp đen” đa dạng và ngày càng tăng. “Bộ xử lý máy tính hiện đại mờ đục, cực kỳ phức tạp và khó hiểu. Đồng tác giả của cả ba bài báo Michael Carbin, trợ lý giáo sư tại Khoa Kỹ thuật Điện và Khoa học Máy tính (EECS) và là nhà nghiên cứu cho biết, việc viết mã máy tính thực thi nhanh nhất có thể cho các bộ xử lý này cũng là một thách thức vô cùng lớn. Phòng thí nghiệm Khoa học Máy tính và Trí tuệ Nhân tạo (CSAIL). “Công cụ này là một bước tiến lớn hướng tới mô hình hóa đầy đủ hiệu suất của những con chip này để cải thiện hiệu quả.”

Gần đây nhất, trong một giấy được trình bày tại hội nghị NeurIPS vào tháng XNUMX, nhóm đã đề xuất một kỹ thuật mới để tự động tạo tối ưu hóa trình biên dịch. Cụ thể, chúng tự động tạo ra một thuật toán, được gọi là Vemal, chuyển đổi một số mã nhất định thành các vectơ, có thể được sử dụng để tính toán song song. Vemal hoạt động tốt hơn các thuật toán vector hóa thủ công được sử dụng trong trình biên dịch LLVM — một trình biên dịch phổ biến được sử dụng trong ngành.

Học từ dữ liệu

Carbin nói, thiết kế các mô hình trình diễn bằng tay có thể là “nghệ thuật đen”. Intel cung cấp tài liệu phong phú gồm hơn 3,000 trang mô tả kiến ​​trúc chip của mình. Nhưng hiện tại chỉ tồn tại một nhóm nhỏ các chuyên gia sẽ xây dựng các mô hình hiệu suất mô phỏng việc thực thi mã trên các kiến ​​trúc đó. 

Đồng tác giả của cả ba bài báo Charith Mendis, một sinh viên tốt nghiệp tại EECS và CSAIL, cho biết: “Các tài liệu của Intel không phải là không có lỗi cũng như không hoàn chỉnh và Intel sẽ bỏ qua một số thứ nhất định, bởi vì nó là tài sản độc quyền. “Tuy nhiên, khi bạn sử dụng dữ liệu, bạn không cần phải biết tài liệu. Nếu có điều gì ẩn giấu, bạn có thể tìm hiểu trực tiếp từ dữ liệu.”

Để làm như vậy, các nhà nghiên cứu đã tính toán số chu kỳ trung bình mà một bộ vi xử lý nhất định thực hiện để tính toán các lệnh khối cơ bản — về cơ bản là trình tự khởi động, thực thi và tắt — mà không cần sự can thiệp của con người. Tự động hóa quy trình cho phép lập hồ sơ nhanh chóng của hàng trăm nghìn hoặc hàng triệu khối. 

Kiến trúc dành riêng cho miền

Trong đào tạo, mô hình Ithemal phân tích hàng triệu khối cơ bản được định hình tự động để tìm hiểu chính xác cách các kiến ​​trúc chip khác nhau sẽ thực hiện tính toán. Điều quan trọng, Ithemal lấy văn bản thô làm đầu vào và không yêu cầu thêm thủ công các tính năng vào dữ liệu đầu vào. Trong quá trình thử nghiệm, Ithemal có thể được cung cấp các khối cơ bản chưa từng thấy trước đó và một con chip nhất định, đồng thời sẽ tạo ra một con số duy nhất cho biết con chip sẽ thực thi mã đó nhanh như thế nào. 

Các nhà nghiên cứu nhận thấy Ithemal cắt giảm tỷ lệ lỗi về độ chính xác - nghĩa là sự khác biệt giữa tốc độ dự đoán so với tốc độ trong thế giới thực - 50% so với các mẫu thủ công truyền thống. Hơn nữa, trong bài báo tiếp theo, họ đã chỉ ra rằng tỷ lệ lỗi của Ithemal là 10%, trong khi tỷ lệ lỗi của mô hình dự đoán hiệu suất của Intel là 20% trên nhiều khối cơ bản trên nhiều miền khác nhau.

Mendis cho biết, công cụ này giờ đây giúp bạn nhanh chóng tìm hiểu tốc độ hiệu suất cho bất kỳ kiến ​​trúc chip mới nào dễ dàng hơn. Ví dụ: các kiến ​​trúc dành riêng cho miền, chẳng hạn như Bộ xử lý Tensor mới của Google được sử dụng riêng cho mạng thần kinh, hiện đang được xây dựng nhưng chưa được hiểu rộng rãi. “Nếu bạn muốn đào tạo một mô hình trên một số kiến ​​trúc mới, bạn chỉ cần thu thập thêm dữ liệu từ kiến ​​trúc đó, chạy nó qua trình hồ sơ của chúng tôi, sử dụng thông tin đó để đào tạo Ithemal và bây giờ bạn có một mô hình dự đoán hiệu suất,” Mendis nói.

Tiếp theo, các nhà nghiên cứu đang nghiên cứu các phương pháp để làm cho các mô hình có thể diễn giải được. Phần lớn học máy là một hộp đen, vì vậy không thực sự rõ ràng tại sao một mô hình cụ thể lại đưa ra dự đoán của nó. “Mô hình của chúng tôi nói rằng phải mất một bộ xử lý, ví dụ, 10 chu kỳ để thực thi một khối cơ bản. Bây giờ, chúng tôi đang cố gắng tìm ra lý do tại sao,” Carbin nói. “Đó là mức độ chi tiết tốt sẽ rất tuyệt vời đối với các loại công cụ này.”

Họ cũng hy vọng sử dụng Ithemal để nâng cao hiệu suất của Vemal hơn nữa và tự động đạt được hiệu suất tốt hơn.


Nguồn: http://news.mit.edu/2020/tool-how-fast-code-run-chip-0106

tại chỗ_img

Tin tức mới nhất

tại chỗ_img

Trò chuyện trực tiếp với chúng tôi (chat)

Chào bạn! Làm thế nào để tôi giúp bạn?