13 điểm bởi ninebow 2023-07-24 | 1 bình luận | Chia sẻ qua WhatsApp
  • Bài viết này là phần mô tả được tạo tự động bằng GPT-4, nên có thể có nội dung không chính xác. :smile:
  • Nếu bạn phát hiện nội dung sai, vui lòng cho biết trong phần bình luận! :bowing_man:

Giới thiệu

Llama2.c là Llama 2 inference viết bằng C thuần do Andrej Karpathy phát triển. Dự án này là một thư viện gọn nhẹ dành cho suy luận mô hình học máy, được viết bằng ngôn ngữ C nên có thể sử dụng trên nhiều nền tảng khác nhau. Thư viện này được thiết kế đặc biệt để chạy nhanh trên CPU, nhất là với các mô hình nhỏ.

Tóm tắt

Thư viện này là một thư viện gọn nhẹ dành cho suy luận mô hình học máy, được viết bằng ngôn ngữ C nên có thể sử dụng trên nhiều nền tảng khác nhau. Thư viện này được thiết kế đặc biệt để chạy nhanh trên CPU, nhất là với các mô hình nhỏ. Thư viện này được thiết kế đặc biệt để chạy nhanh trên CPU, nhất là với các mô hình nhỏ.

Dự án này cung cấp nhiều tùy chọn tối ưu hóa khác nhau, nhờ đó người dùng có thể chạy mã nhanh hơn tùy theo hệ thống. Ví dụ, có thể dùng các tùy chọn biên dịch như -O3, -Ofast, -ffast-math, -funsafe-math-optimizations, -march=native. Các tùy chọn này bao gồm những tối ưu hóa như vectorization, unrolling vòng lặp và dự đoán nhánh; một số tùy chọn thậm chí có thể vi phạm đặc tả C/IEEE.

Dự án này vẫn đang trong quá trình phát triển và còn nhiều vấn đề cần được giải quyết. Ví dụ như lý do có khoảng trắng ở đầu khi chạy ./run trong mã sampling C, hỗ trợ multi-query cho các mô hình nhỏ, hay hỗ trợ suy luận vượt quá độ dài chuỗi tối đa.

Tham khảo

  1. Tùy chọn tối ưu hóa của GCC: Có thể tìm hiểu chi tiết về các tùy chọn tối ưu hóa khác nhau của GCC.
  2. Toán học dấu phẩy động của GCC: Có thể tìm thông tin chi tiết về các tùy chọn -ffast-math-funsafe-math-optimizations.
  3. GitHub của Andrej Karpathy: Có thể xem các dự án khác của Andrej Karpathy.
  4. Giấy phép của Llama2.c: Có thể xem giấy phép MIT của dự án này.
  5. Danh sách người đóng góp cho Llama2.c: Có thể xem những người đã đóng góp cho dự án này.

Nguồn

https://github.com/karpathy/llama2.c