Mâu thuẫn xã hội và tương lai của mã nguồn mở: Câu chuyện phía sau llamafile
Bài viết này nhìn lại hành trình kỹ thuật và cá nhân của Justine - nhà phát triển Cosmopolitan Libc và llamafile - qua lăng kính của những thách thức trong cộng đồng mã nguồn mở, các chiến thuật tối ưu hóa AI và cuộc đấu tranh để duy trì sự phát triển phần mềm độc lập.

Mâu thuẫn xã hội và tương lai của mã nguồn mở: Câu chuyện phía sau llamafile
Thách thức lớn nhất khi làm việc trong lĩnh vực mã nguồn mở là thiếu đi một quy trình kiểm soát thể chế, bởi mục tiêu chính là để mọi người tự tổ chức và xây dựng sản phẩm. Điều này dẫn đến việc nhiều người tham gia chưa bao giờ có cơ hội làm việc với những thành viên xuất sắc nhất trong cộng đồng. Trong bối cảnh "chiến tranh văn hóa" của những năm 2010, Coraline Ada Ehmke đã đưa ra Contributor Covenant (Hiệp ước Người đóng góp) để giải quyết vấn đề bao trùm. Tuy nhiên, tôi luôn cảm thấy giải pháp này đi quá xa và chọn cách tiếp cận riêng cho dự án của mình: không chấp nhận đóng góp ẩn danh và yêu cầu người đóng góp chuyển nhượng bản quyền qua email.
Sự hợp tác đầy rủi ro và cộng đồng 4chan
Năm 2023, khi llama.cpp ra mắt, tôi bị cuốn hút bởi mã nguồn đẹp mắt do Gerganov viết nên. Tôi đã phá vỡ nguyên tắc của mình để hợp tác với một nhà phát triển ẩn danh tên Slaren từ nhóm của anh ấy. Đây là lần đầu tiên sau 5 năm tôi viết code chung với người khác cho một dự án không phải của mình. Tuy nhiên, sau khi công bố công việc, Slaren đã lên 4chan cáo buộc tôi đạo văn và tuyên bố những thay đổi của tôi là của anh ta.
Cộng đồng llama.cpp có trụ sở tư duy tại 4chan - nơi từng rò rỉ các trọng số (weights) của Meta LLaMA v1. Việc đọc những suy nghĩ không được lọc về mình trong nhiều tháng đã khiến tôi bị đau nửa đầu dữ dội và phải nhập viện. Điều kỳ lạ là cộng đồng ban đầu phản ứng tích cực với công việc của tôi, cho đến khi một thành viên cảm thấy bị đe dọa. Chính vì sự hỗn loạn này mà Wendy Hanamura đã hủy lời mời tôi phát biểu tại Internet Archive.
Tuy nhiên, tôi cũng tìm thấy lợi thế cạnh tranh từ những "kênh hậu trường" này. Bằng cách theo dõi các yêu cầu kéo (pull requests) mà người dùng trên 4chan phàn nàn, tôi có thể hợp nhất chúng vào llamafile trước khi Gerganov kịp làm điều đó. Chiến thuật này đã giúp dự án Mozilla Builders của tôi hỗ trợ các mô hình mới như Gemma 2 sớm hơn bất kỳ dự án cộng đồng nào khác, đạt hàng trăm nghìn lượt tải xuống trên Hugging Face.
Tối ưu hóa hiệu suất và chiến thuật bản quyền
Dự án llamafile của tôi dựa trên thư viện Cosmopolitan Libc. Trong quá trình phát triển, tôi đã cố gắng trao cho Slaren sự tự tin để giải quyết các vấn đề khó khăn hơn, như phép nhân số ba chiều. Để khắc phục các vấn đề hiệu suất với mô hình Mixture of Experts (MoE), tôi đã cố gắng đóng góp mã nhân tensor multiplication tinyBLAS của mình.
Iwan Kawrakow, cố vấn tiến sĩ của Gerganov và cha đẻ của định dạng lượng tử "K" phổ biến, đã quan tâm đến thay đổi của tôi. Tôi đã chia sẻ kỹ thuật lát khối (block tiling) của mình để giúp ông xây dựng các nhân nhân ma trận tốt hơn. Kết quả là llamafile nhận được "lũ" các pull requests từ Iwan với giấy phép Apache 2.0, ngăn Gerganov sử dụng chúng. Điều này giúp chúng tôi có tốc độ suy luận (inference) trên CPU nhanh hơn bất kỳ dự án nào khác, cho phép người dùng và doanh nghiệp sử dụng LLM mà không cần GPU đắt tiền.
Cộng đồng công nghệ và sự công nhận
Hacker News là nơi yêu thích của tôi trên web, nơi đã giúp tôi khởi động lại sự nghiệp vào năm 2020 với bài viết về Actually Portable Executable. Dù người dùng lo ngại về URL CDN và việc sử dụng bảng chữ cái Hy Lạp, moderator dang đã bảo vệ bài viết của tôi vì chất lượng kỹ thuật cao. Điều này đã mở ra cánh cửa để tôi phát triển các dự án khác như redbean, SectorLISP và SectorLAMBDA.
Tuy nhiên, không phải mọi cộng đồng đều cởi mở. Lobsters, nơi thường cung cấp phản hồi thẳng thắn, đã cấm tên miền của tôi sau khi tôi điều chỉnh phong cách viết dựa trên phản hồi từ người dùng. LWN, một trang tin kỹ thuật uy tín, cũng đã thêm lời xin lỗi vào bài viết về Cosmopolitan Libc sau khi bị cáo buộc chứa các tín hiệu bài Do Thái.
Thời gian tại Google và những thách thức hiện tại
Gần đây, tôi đã có cơ hội làm việc tại Gradient Canopy của Google để cải thiện hiệu suất các đơn vị xử lý tensor (TPU) cho Gemini. Đây là một môi trường an toàn và bí mật, nơi tôi đã học hỏi rất nhiều. Tuy nhiên, sau khi người bạn chiến đấu để tôi được vào đó nghỉ phép sinh con, công ty đã chi tỷ đô để thuê Noam Shazeer. Ngay sau đó, tôi bị sa thải vì lý do hiệu suất.
Hiện tại, tôi đang đối mặt với những khó khăn về tài chính và pháp lý, bao gồm cả lệnh thuế từ bang New York. Dù llamafile đang được một phần ba các tổ chức sử dụng theo báo cáo của Wiz - phổ biến hơn cả ollama hay TensorFlow - nhưng tôi vẫn không có nguồn thu nhập ổn định từ dự án này.
Di sản kỹ thuật và lời kêu gọi hỗ trợ
llamafile được thiết kế để tồn tại mãi mãi nhờ định dạng tệp Actually Portable Executable và khả năng xây dựng xác định trên nhiều hệ điều hành. Bất kỳ sai lầm nào của nhóm hiện tại cũng không thể đe dọa di sản của tôi hay ngăn người dùng tiếp tục tận hưởng phần mềm.
Như câu chuyện về Prometheus, người đã bị trừng phạt vì mang lửa cho nhân loại, việc chia sẻ kiến thức thường đi kèm cái giá phải trả. Tôi đang ở giao điểm của nhiều nhóm không được ưa thích, và sự hiểu biết của tôi về họ khiến tôi trở thành mục tiêu của sự thù hằn xã hội.
Tôi cần sự hỗ trợ tài chính và tinh thần từ cộng đồng để tiếp tục phát triển các công cụ AI mà một phần ba tổ chức đang sử dụng. Mỗi đóng góp của bạn là một hành động phản kháng chống lại các chính sách đã khiến việc viết code trở nên thiếu nhân phẩm. Sự ủng hộ của bạn sẽ giúp tôi tiếp tục tạo ra những chương trình máy tính đẹp mắt và lan tỏa niềm đam mê công nghệ.



