1 điểm bởi GN⁺ 2024-04-19 | 1 bình luận | Chia sẻ qua WhatsApp

Effort là gì?

  • Effort là năng lượng, thời gian và tài nguyên được投入 để hoàn thành một việc hoặc đạt được mục tiêu
  • Nó có nghĩa là sự nỗ lực và công sức cần thiết để vượt qua trở ngại hoặc đạt được kết quả mong muốn
  • Effort có thể mang tính thể chất hoặc tinh thần
    • Nỗ lực thể chất như năng lượng dùng để nâng vật nặng hoặc chạy marathon
    • Nỗ lực tinh thần như sự tập trung và sức mạnh tinh thần cần thiết để giải quyết vấn đề phức tạp hoặc học kỹ năng mới
  • Đây là yếu tố cốt lõi để đạt được thành công trong nhiều lĩnh vực của cuộc sống như phát triển cá nhân, công việc và giáo dục

Ý kiến của GN⁺

  • Effort không chỉ đơn giản là lượng thời gian hay năng lượng bỏ vào, mà còn là khái niệm chịu tác động tổng hợp của nhiều yếu tố như tính bền bỉ, sự tập trung và động lực. Vì vậy, chỉ chăm chỉ thôi cũng không đảm bảo chắc chắn thành công
  • Đặc biệt với các công việc đòi hỏi Effort về mặt tinh thần, cần chú ý để không rơi vào tình trạng kiệt sức. Điều quan trọng là tìm ra cách duy trì Effort thông qua nghỉ ngơi và phần thưởng phù hợp
  • Mỗi người có thể có cách投入 Effort khác nhau. Có người tập trung cao độ trong thời gian ngắn, có người lại duy trì Effort đều đặn trong dài hạn. Tìm ra phương pháp phù hợp với bản thân sẽ hiệu quả hơn

1 bình luận

 
GN⁺ 2024-04-19
Ý kiến trên Hacker News
  • Thuật toán này cắt tỉa tham số theo thời gian thực và đặt các trọng số có thứ hạng trị tuyệt đối thấp trong từng nhóm về 0 để làm ma trận trọng số trở nên thưa
  • Khi tìm kiếm về cắt tỉa mô hình, có rất nhiều bài báo thảo luận "cắt tỉa dựa trên độ lớn" như một đường cơ sở
    • Nhưng các bài báo này thường triển khai đường cơ sở rất tệ để phóng đại phương pháp của họ, và dùng rất nhiều thuật ngữ toán học để giải thích cách làm
    • Trong khi đó, bài blog gốc lại giải thích phương pháp theo cách mà ngay cả người gần như không có kiến thức nền cũng có thể hiểu được
  • Có một câu trong phần triển khai GPU rất ấn tượng
    • "Người mới học lập trình GPU sẽ hỏi 'Nó hoạt động như thế nào?', còn người nhiều kinh nghiệm sẽ hỏi 'Rốt cuộc nó hoạt động kiểu gì vậy?'"
  • Việc lật ma trận, sắp xếp các phần tử theo từng hàng rồi xem lại phép nhân theo hướng đó được gọi là định dạng "compressed sparse row (CSR)"
    • Để thực hiện phép nhân, bạn lấy 1 từ vector, nhân với 256 rồi cộng vào hàng thứ ba của vector đầu ra, cứ thế tiếp tục
    • Có đề xuất thử xem điều gì xảy ra nếu cắt bỏ cột cuối cùng chứa các giá trị nhỏ nhất
  • Gợi ý tên cho ý tưởng: "lobotomize"
  • Cách này có vẻ giống với tính thưa bán cấu trúc (2:4), nên đáng để so sánh một cách rõ ràng
    • Kỹ thuật này được tối ưu cho Apple Silicon, nhanh hơn khoảng ~2 lần ở mức thưa 75%, mang tính động và thay đổi theo đầu vào, được áp dụng lúc chạy, và có thể chọn mức độ thưa
    • Trong khi đó, tính thưa bán cấu trúc 2:4 được tối ưu cho GPU có sparse tensor core, nhanh hơn khoảng ~2 lần ở mức thưa 50%, mang tính tĩnh, được áp dụng khi mô hình rảnh, và có vẻ sẽ cho kết quả kém hơn kỹ thuật này ở mức thưa 50%
    • Sẽ rất thú vị nếu so sánh kết quả của tính thưa bán cấu trúc ở mức thưa 50% (tăng tốc 2 lần) với kết quả của kỹ thuật này ở mức thưa 75% (tăng tốc 2 lần)
  • Với kinh nghiệm từng dùng CSR, điều này không quá bất ngờ; một số định dạng mới hơn như block ELL khiến code khó hơn nhưng tránh được đọc/thu thập không liên tục nên có vẻ "hợp cơ chế máy" hơn
  • Độ trễ 15ms trông khá gần với vsync 60Hz (16,7ms), nên nếu cập nhật màn hình mỗi token một lần thì có thể sẽ xảy ra đồng bộ theo cách nào đó
  • Cảm ơn vì đóng góp rất hay và cởi mở này. Tôi sẽ theo dõi sát việc triển khai nó trong llama.cpp. Tôi vốn đang tìm cách tăng tốc suy luận trên CPU và rất thích ý tưởng "effort" này
  • Bài viết rất hay! Tôi rất tò mò về hiệu năng trên mỗi VRAM khi so với lượng tử hóa. Có kế hoạch triển khai một phiên bản đa nền tảng không?
  • Điều này có vẻ liên quan đến https://arxiv.org/abs/2312.12456https://github.com/SJTU-IPADS/PowerInfer