Trang này được dịch bởi Cloud Translation API.
Switch to English

MLIR

Tổng quat

MLIR, hay Đại diện trung gian đa cấp, là một định dạng đại diện và thư viện các tiện ích trình biên dịch nằm giữa biểu diễn mô hình và trình biên dịch / trình thực thi cấp thấp tạo mã cụ thể cho phần cứng.

MLIR là một cơ sở hạ tầng linh hoạt để tối ưu hóa trình biên dịch hiện đại. Điều này có nghĩa là nó bao gồm một đặc tả cho các biểu diễn trung gian (IR) và bộ công cụ mã để thực hiện các phép biến đổi trên biểu diễn đó. (Theo cách nói của trình biên dịch, khi bạn chuyển từ các biểu diễn cấp cao hơn sang các biểu diễn cấp thấp hơn, các phép biến đổi này có thể được gọi là các mức thấp hơn

MLIR chịu ảnh hưởng rất lớn từ LLVM và không ngừng sử dụng nhiều ý tưởng tuyệt vời từ nó. Nó có một hệ thống loại linh hoạt và cho phép biểu diễn, phân tích và biến đổi các biểu đồ kết hợp nhiều mức độ trừu tượng trong cùng một đơn vị biên dịch. Các tóm tắt này bao gồm các hoạt động TensorFlow, các vùng vòng lặp đa giác lồng nhau và thậm chí các lệnh LLVM và các loại và hoạt động phần cứng cố định.

Chúng tôi hy vọng MLIR sẽ được nhiều nhóm quan tâm, bao gồm:

  • Các nhà nghiên cứu và triển khai trình biên dịch đang tìm cách tối ưu hóa hiệu suất và mức tiêu thụ bộ nhớ của các mô hình học máy
  • Các nhà sản xuất phần cứng đang tìm cách kết nối phần cứng của họ với TensorFlow, chẳng hạn như TPU, phần cứng thần kinh di động trong điện thoại và các ASIC tùy chỉnh khác
  • Mọi người viết các ràng buộc ngôn ngữ muốn tận dụng tối ưu hóa trình biên dịch và tăng tốc phần cứng.

Hệ sinh thái TensorFlow chứa một số trình biên dịch và tối ưu hóa hoạt động ở nhiều cấp độ của phần mềm và phần cứng. Chúng tôi hy vọng việc áp dụng MLIR dần dần sẽ đơn giản hóa mọi khía cạnh của ngăn xếp này.

Sơ đồ tổng quan MLIR