1 điểm bởi GN⁺ 2024-09-01 | 1 bình luận | Chia sẻ qua WhatsApp
  • Đây là workshop cho phép bạn dành vài giờ cuối tuần để vừa theo dõi cách LLM hoạt động bằng mã nguồn, vừa xem toàn bộ quy trình triển khai, huấn luyện và sử dụng trong một lần
  • Phần thực hành bắt đầu từ phần giới thiệu LLM, rồi lần lượt đi qua dữ liệu đầu vào, tokenizer và triển khai kiến trúc mô hình
  • Sau khi triển khai kiến trúc, workshop tiếp tục với GPT-2 và Llama 2, tiền huấn luyện và nạp trọng số đã tiền huấn luyện để nối sang quy trình sử dụng mô hình thực tế
  • Nội dung cũng bao gồm sử dụng trọng số với LitGPT, fine-tuning theo chỉ dẫn, đánh giá benchmark và cả đánh giá hiệu năng hội thoại
  • Sách, kho lưu trữ GitHub, mã workshop, Lightning Studio và kho lưu trữ LitGPT đều được cung cấp nên rất dễ làm theo trực tiếp

Luồng video workshop 3 giờ

  • Toàn bộ quy trình triển khai, huấn luyện và sử dụng LLM được trình bày trong một workshop lập trình duy nhất
  • Có các chương có thể nhấp để chuyển ngay đến chủ đề cần xem
  • Cơ bản và xử lý đầu vào

    • 0:00 Tổng quan workshop
    • 2:17 Giới thiệu LLM
    • 9:14 Tài liệu workshop
    • 10:48 Tìm hiểu dữ liệu đầu vào của LLM
    • 23:25 Lớp tokenizer đơn giản
  • Triển khai và huấn luyện mô hình

    • 41:03 Code kiến trúc LLM
    • 45:01 GPT-2 và Llama 2
    • 1:07:11 Tiền huấn luyện
    • 1:29:37 Nạp trọng số đã tiền huấn luyện
    • 1:45:12 Sử dụng trọng số tiền huấn luyện qua LitGPT
  • Fine-tuning và đánh giá

    • 1:53:09 Fine-tuning theo chỉ dẫn
    • 2:08:21 Fine-tuning theo chỉ dẫn qua LitGPT
    • 2:26:45 Đánh giá benchmark
    • 2:36:55 Đánh giá hiệu năng hội thoại
    • 2:42:40 Kết thúc

Tài liệu cần có để làm theo

1 bình luận

 
GN⁺ 2024-09-01
Ý kiến trên Hacker News
  • Có thể là câu hỏi ngớ ngẩn, nhưng tôi muốn biết nội dung này có khác với của Andrej Karpathy không: https://www.youtube.com/watch?v=kCc8FmEb1nY
    • Loạt bài của Andrej rất hay, và cuốn sách cùng video này của Sebastian cũng rất hay.
      Có khá nhiều phần trùng nhau, nhưng mỗi bên đi sâu hơn vào những chủ đề khác nhau hoặc có trọng tâm khác nhau. Toàn bộ loạt bài của Andrej hoàn toàn đáng xem, và những gì Eureka Labs sắp làm cũng có vẻ rất hứa hẹn. Blog và sách của Sebastian cũng đáng để bỏ thời gian và tiền bạc
  • Tôi thích bài viết của Sebastian và cũng mong chờ cuốn sách. Có rất nhiều chi tiết về cách LLM được cấu thành, nhưng về lâu dài có vẻ chiến trường sẽ nằm ở phía đó, nên sẽ hay hơn nếu cũng nói thêm về cách Llama và OpenAI có thể tinh lọc và cấu trúc dữ liệu huấn luyện như thế nào
  • Dùng PyTorch thì không phải là xây LLM từ nền móng
    Đây là một tutorial PyTorch tốt, nhưng ý tôi là đừng giả vờ nó ở mức quá thấp
    • Muốn làm bánh táo từ đầu thì trước hết phải phát minh ra vũ trụ
    • Tôi rất thích nội dung của Sebastian, nhưng ở điểm này thì tôi đồng ý. Phải đến khi bắt đầu từ việc tự viết engine autodiff từ đầu như trong loạt bài của Karpathy thì tôi mới thật sự đi vào deep learning.
      Trước đó tôi đã thử học bằng fast.ai, nhưng vì lập tức bắt đầu dựng mạng bằng Pytorch nên nhanh chóng bỏ cuộc. Nó thấy chán ngang học Java thời trung học, và tôi cần phải hiểu mình đang thao tác với cái gì
    • Học chơi Bach: bắt đầu bằng việc tự làm đàn piano
    • Theo tiêu chuẩn nào thì như vậy không phải mức thấp? Viết một IRC client chỉ bằng socket API trong Python thì cũng không được xem là từ đầu sao?
    • Trong ngữ cảnh LLM, pytorch.nn cũng là mức thấp. Trong giáo dục, điều quan trọng là không ôm quá nhiều tầng trừu tượng cùng một lúc
  • Trước đây tôi từng viết một hướng dẫn thực chiến về việc huấn luyện nanoGPT từ đầu trên Azure. Khá dễ làm theo bằng tay và cũng thực dụng
    https://16x.engineer/2023/12/29/nanoGPT-azure-T4-ubuntu-guid...
    • Tôi tò mò không biết chi phí có thật sự chỉ 200 đô không
      Cũng muốn biết có thể làm được gì với thứ tạo ra như vậy, và cách huấn luyện nó với các sự kiện mới nhất ra sao
  • Có thể là vô lý, nhưng về cơ bản tôi có cảm giác tiêu cực với việc dùng từ coding thay vì programming hay development
    • Thấy phản ứng như vậy xuất hiện trong một bài đăng của người thuộc nhóm ám ảnh về ngôn ngữ nhất trong cộng đồng này nghe cũng khá ồn ào.
      Giờ nếu xét kỹ, "code" là thứ được thiết lập như nội dung của một codex. Có thể xem bối cảnh lịch sử tại https://en.wikipedia.org/wiki/Codex; nó bắt đầu từ tập hợp quy tắc trong lĩnh vực pháp lý rồi ít nhất từ giữa thế kỷ 16 đã mở rộng sang các lĩnh vực khác trong tiếng Anh.
      "program" thì gần hơn với việc công bố một tập hợp ý định, ví dụ như "đầu tiên chơi Bach rồi sau đó chơi Mozart". Cách dùng này xuất hiện muộn hơn vài thế kỷ so với code theo nghĩa "tập hợp quy tắc".
      "develop" mang nghĩa triển khai, nên cũng hay, nhưng không hàm ý quy tắc hay thủ tục tuần tự như hai từ kia
    • Tôi là người Brazil, và điều buồn cười ở đây là khi nói tiếng Anh, bạn bè hay đồng nghiệp của tôi thường dùng coding, còn khi nói giữa người Brazil với nhau thì lại hay dùng codar như một động từ tiếng Bồ Đào Nha
      Tôi không chắc lý do chính xác là gì, nhưng có vẻ trong tiếng Bồ Đào Nha Brazil, "program" gắn khá mạnh với mại dâm
    • Hoàn toàn đồng ý. Một năm trước tôi cũng đã bàn về chủ đề này: https://news.ycombinator.com/item?id=36924239
    • Có lẽ giờ đây đây là quan điểm không còn phổ biến, nhưng tôi vẫn đồng ý, ngay cả trong bầu không khí mà kiểu đánh giá đó dễ bị xem là phán xét hay gatekeeping
    • Cái này có vẻ gần với một cảm quan kiểu châu Âu hơn
  • Đây đúng là mức độ chi tiết mà tôi đang tìm. Tôi đã có khá nhiều kinh nghiệm với deep learning và pytorch, nên không muốn xem cảnh hiện thực hóa toàn bộ từ đầu
    Tài liệu của Andrej với tôi lại quá thấp tầng nên dễ bị lạc trong tiểu tiết. Đây không hẳn là chê, chỉ là một bình luận có thể hữu ích cho những ai ở hoàn cảnh giống tôi
  • Tuyệt vời. Mới hôm qua tôi còn đang thắc mắc chính xác transformer/attention và LLM hoạt động như thế nào
    Tôi từng lần theo cách backprop hoạt động trong RNN sâu từ rất lâu trước đây, nên nghĩ rằng xem nốt phần còn lại chắc cũng sẽ thú vị
    • Nếu muốn có trực giác, các video 3b1b giải thích khá tốt. Chỉ là chúng không đi vào những chi tiết thật sự li ti
  • Tốt đấy. Sẽ hay hơn nếu nó chạy được cả trên Windows 11
    Nếu Windows không được nhắc rõ, thường là chưa được kiểm thử trong môi trường đó, và tôi hay thấy nó không chạy ổn vì những vấn đề rất ngẫu nhiên
    • Trong WSL2 có thể truy cập GPU nên chắc sẽ chạy ổn. Chỉ cần nhớ cài Cuda toolkit, và NVidia cũng có bản cung cấp riêng cho WSL2
      https://developer.nvidia.com/cuda-downloads?target_os=Linux&...
    • Nếu không chạy được trên Windows 11 thì cũng có thể thử bằng WSL (Windows Subsystem for Linux)
  • Trang này thực chất chỉ là một container chứa video YouTube. Vì phần mô tả trang cũng có các liên kết y hệt, tốt hơn là để link HN trỏ thẳng tới video
    • Ngược lại, như vậy còn giảm bớt một bước phải đi tìm kho bài viết của Sebastian Raschka
    • Ông ấy chia sẻ rất nhiều video và code, giá trị tài liệu thực sự cao. Sao không đơn giản là ủng hộ tác giả sáng tạo?
    • Có lý do gì để không ủng hộ chính website của tác giả? Trang đó trông cũng ổn mà