2 điểm bởi GN⁺ 2025-02-11 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Đây là bản tóm tắt ngắn của video phân tích chuyên sâu về LLM dài 3 giờ 31 phút của Andrej Karpathy, dành cho độc giả muốn nắm một lượt nguyên lý hoạt động, thuật ngữ fine-tuning, prompt, hallucination và cả DeepSeek-R1
  • LLM được huấn luyện bằng cách tinh lọc văn bản web quy mô lớn rồi token hóa, sau đó học dự đoán token tiếp theo trong context window; context dài phản ánh được nhiều thông tin hơn nhưng cũng làm tăng chi phí tính toán
  • Base model đã được pretraining về cơ bản gần giống một công cụ tự động hoàn tất xác suất, tiếp tục viết theo phong cách văn bản Internet; để trở thành trợ lý hội thoại thì cần post-training như SFT và alignment
  • Để giảm hallucination, cần cho mô hình từ chối các câu hỏi mà nó không biết hoặc tham chiếu thông tin mới qua tool use và RAG; với bài toán toán học và logic, cách sinh từng bước cùng công cụ bên ngoài thường phù hợp hơn
  • Reinforcement learning cho phép mô hình thử nhiều đáp án và học từ các lời giải thành công, nhưng trong RLHF, reward model chỉ là xấp xỉ sở thích của con người nên vẫn còn rủi ro over-optimization và khai thác reward model

Độc giả mà bản tóm tắt này hướng tới

  • "Deep dive into LLMs like ChatGPT" của Andrej Karpathy là một video dài 3 giờ 31 phút, và đây là bản TL;DR dành cho độc giả muốn lấy ý chính mà không cần bỏ ra thời lượng xem quá dài
  • Đặc biệt phù hợp với những độc giả sau
    • Người muốn hiểu LLM thực sự hoạt động như thế nào, không chỉ ở bề mặt
    • Người muốn hiểu các thuật ngữ fine-tuning như chat_template, ChatML
    • Người muốn cải thiện prompt engineering bằng cách hiểu vì sao prompt hoạt động tốt hoặc thất bại
    • Người muốn giảm hallucination của LLM
    • Người muốn hiểu vì sao DeepSeek-R1 được chú ý
  • Sơ đồ Excalidraw được dùng trong video có thể tải qua liên kết tải xuống được host riêng trên CDN

Dữ liệu pretraining và token hóa

  • LLM tạo bộ dữ liệu văn bản quy mô lớn bằng cách crawl Internet, nhưng dữ liệu gốc có rất nhiều nội dung trùng lặp, văn bản chất lượng thấp và thông tin không liên quan, nên cần lọc mạnh trước khi huấn luyện
    • Nếu xây dựng mô hình chỉ cho tiếng Anh, cần heuristic để chỉ giữ lại văn bản có xác suất cao là tiếng Anh
    • Bộ dữ liệu ví dụ FineWeb chứa hơn 1,2 tỷ trang web
  • Văn bản đã được làm sạch không đi thẳng vào mô hình dưới dạng nguyên văn, mà được chuyển thành token, tức các ID biểu diễn những mẫu lặp lại
    • Kỹ thuật tiêu biểu là Byte Pair Encoding (BPE)
    • GPT-4 sử dụng 100.277 token, và số lượng token phụ thuộc vào quyết định của nhà phát triển mô hình
    • Có thể trực quan hóa quá trình token hóa bằng Tiktokenizer

Đầu vào, đầu ra và cách vận hành bên trong của mạng nơ-ron

  • Dữ liệu đã token hóa được đưa vào mạng nơ-ron, và mô hình dự đoán token tiếp theo trong context window đã định
    • Một số mô hình dùng 8.000 token, còn GPT-4 dùng context tối đa 128k
    • Dựa trên các mẫu đã học, mô hình dự đoán token tiếp theo và điều chỉnh trọng số để giảm lỗi bằng backpropagation
    • Context window dài giúp phản ánh nhiều nội dung hơn từ đầu vào, nhưng làm tăng chi phí tính toán
  • Bên trong mô hình, hàng tỷ tham số tương tác với token đầu vào để tạo ra phân phối xác suất cho token tiếp theo
    • Quá trình này được định nghĩa bằng các phương trình toán học phức tạp đã được tối ưu để tăng hiệu quả
    • Kiến trúc được thiết kế để cân bằng giữa tốc độ, độ chính xác và khả năng song song hóa
    • Có thể xem ví dụ kiến trúc LLM ở mức production tại bbycroft.net/llm
  • Kết quả suy luận của LLM không mang tính tất định mà là xác suất
    • Chạy cùng một mô hình vẫn có thể cho đầu ra hơi khác nhau
    • Phần lớn trường hợp, nó tạo ra văn bản mới theo những mẫu giống dữ liệu huấn luyện, nhưng đôi khi cũng có thể khớp chính xác với một phần dữ liệu huấn luyện
    • Tính ngẫu nhiên này là nguồn gốc của đầu ra sáng tạo, nhưng cũng có thể dẫn tới hallucination là bịa ra thông tin sai

GPT-2 và sự thay đổi về chi phí huấn luyện

  • GPT-2 được OpenAI công bố năm 2019 là một ví dụ về LLM giai đoạn đầu dựa trên Transformer
    • 1,6 tỷ tham số

    • Độ dài context 1024 token

      • Được huấn luyện trên khoảng 100 tỷ token
      • Chi phí huấn luyện ban đầu là 40.000 USD
      • Sau đó hiệu quả đã được cải thiện rất nhiều
      • Andrej Karpathy đã tái hiện GPT-2 với chi phí 672 USD bằng llm.c
      • Nếu dùng pipeline tối ưu hơn, chi phí huấn luyện có thể giảm tiếp xuống khoảng 100 USD
      • Việc chi phí giảm đến từ dữ liệu sạch hơn và môi trường thực thi tốt hơn
      • Nhờ kỹ thuật trích xuất dữ liệu pretraining tốt hơn, bộ dữ liệu được tinh lọc hơn nên mô hình học nhanh hơn
      • Nhờ phần cứng mạnh hơn và phần mềm được tối ưu, lượng tính toán cần để đạt cùng kết quả cũng giảm xuống

Open base model và giới hạn của base model

  • Open base model ở đây không có nghĩa là mô hình tuân thủ nghiêm ngặt định nghĩa AI mã nguồn mở của OSI, mà là mô hình có công khai trọng số nhưng có thể không cung cấp dữ liệu huấn luyện và khả năng tái lập đầy đủ
    • GPT-2 của OpenAI là mô hình open-weight và source-available, nhưng vì không công khai dữ liệu huấn luyện nên không phải mã nguồn mở hoàn toàn theo định nghĩa của OSI
    • Llama 3.1 405B của Meta là mô hình open-weight nhưng không phải mô hình mã nguồn mở
  • Base model là mô hình ngôn ngữ thô đã qua pretraining, và để dùng thực tế thì cần fine-tuning hoặc alignment
    • Nó được huấn luyện trên dữ liệu quy mô Internet chưa lọc kỹ, nên sinh ra các đoạn hoàn thành mang tính thô
    • Mức độ alignment với ý định con người còn thiếu
  • Để phát hành một base model, thường cần hai thứ
    • Inference code: định nghĩa quy trình mô hình sinh văn bản
    • Model weights: hàng tỷ tham số chứa tri thức của mô hình
  • Đặc điểm hành vi của base model gồm
    • Sinh văn bản theo phong cách Internet ở cấp độ token
    • Mỗi lần chạy cho đầu ra hơi khác nhau
    • Có thể tái hiện nguyên xi một phần dữ liệu huấn luyện
    • Có thể xem các tham số như một tệp zip nén mất dữ liệu chứa tri thức Internet
    • Có thể dùng cho dịch thuật bằng ví dụ in-context hoặc làm trợ lý cơ bản dựa trên prompt có cấu trúc
  • Có thể tự thử nghiệm Llama 3 405B base model, và điểm cốt lõi là base model gần giống một công cụ tự động hoàn tất đắt đỏ

Từ pretraining sang post-training

  • Base model chỉ là trình sinh văn bản đã qua pretraining; để tạo trợ lý thực sự thì cần post-training
  • Nó có thể sinh văn bản nhưng không phải lúc nào cũng đưa ra câu trả lời hữu ích và cũng có nhiều hallucination
  • Post-training là quá trình fine-tune để mô hình phản hồi tốt hơn
  • Pretraining có thể mất vài tháng, nhưng post-training rẻ hơn rất nhiều đến mức có thể hoàn thành chỉ trong vài giờ

Supervised fine-tuning và dữ liệu hội thoại

  • Sau pretraining, mô hình được post-train bằng dữ liệu hội thoại người/assistant thay vì dữ liệu Internet để trở nên hữu ích và có tính hội thoại hơn
    • Thuật toán mô hình được giữ nguyên, chỉ fine-tune các tham số sẵn có
    • Bộ dữ liệu post-training ban đầu do con người trực tiếp tuyển chọn, nhưng các mô hình như UltraChat có thể tạo ra hội thoại tổng hợp
  • Để dạy cấu trúc hội thoại, người ta dùng chat template
  • Ví dụ template như sau
<|im_start|>system<|im_sep|>You are a helpful assistant<|im_end|>
<|im_start|>user<|im_sep|>What is 4 + 4?<|im_end|>
<|im_start|>assistant<|im_sep|>4 + 4 = 8<|im_end|>
  • <|im_start|>, <|im_end|> là các special token giúp mô hình nắm được cấu trúc hội thoại
    • Mô hình không thấy các token mới này trong quá trình pretraining, mà chúng được đưa vào ở giai đoạn post-training
    • Bài báo InstructGPT của OpenAI đề cập đến fine-tuning LLM cho hội thoại
  • Ví dụ về bộ dữ liệu post-training có OASST1, còn bộ dữ liệu tổng hợp có thể được trực quan hóa qua Nomic Atlas

Hallucination, tool use và trí nhớ

  • Một trong những vấn đề chính của LLM là hallucination, tức tạo ra thông tin sai hoặc bịa đặt với vẻ rất tự tin
    • Trong quá trình post-training, mô hình có thể học rằng nó luôn phải trả lời
    • Ngay cả khi câu hỏi vô nghĩa, nó vẫn cố sinh phản hồi thay vì nói “không biết”
  • Bài báo Llama 3 của Meta dùng quy trình sau để cải thiện tính đúng sự thật
    • Trích xuất một phần dữ liệu huấn luyện
    • Dùng Llama 3 tạo câu hỏi thực tế về phần dữ liệu đó
    • Llama 3 sinh câu trả lời
    • Chấm điểm phản hồi bằng cách so sánh với dữ liệu gốc
    • Nếu sai, huấn luyện mô hình để nhận ra phản hồi sai và từ chối trả lời
  • Một cách để giảm hallucination là huấn luyện mô hình dùng công cụ khi nó không biết câu trả lời
<|im_start|>user<|im_sep|>Who is Orson Kovacs?<|im_end|>
<|im_start|>assistant<|im_sep|><SEARCH_START>Who is Orson Kovacs?<SEARCH_END><|im_end|>

[...search results...]

<|im_start|>assistant<|im_sep|>Orson Kovacs is ....<|im_end|>
  • Qua huấn luyện lặp lại, mô hình học cách đi tìm kiếm thay vì bịa ra điều nó không biết
  • Tham số của mô hình lưu một trí nhớ mờ giống như nhớ lờ mờ chuyện của một tháng trước, còn các token trong context hoạt động như bộ nhớ làm việc chứa thông tin mới nhất
  • RAG hoạt động tốt vì khi mô hình có thể truy cập trực tiếp tài liệu liên quan, nó ít phải đoán hơn

Tự nhận thức của mô hình và token suy luận

  • Nếu hỏi một base model chưa được tune rằng “bạn là ai”, nó có thể hallucinate
    • Dù không phải mô hình do OpenAI tạo ra, nó vẫn có thể trả lời rằng OpenAI làm ra nó vì trong dữ liệu Internet, AI model và OpenAI thường xuyên được gắn với nhau
  • Có hai cách để sửa điều này
  • Nếu không có huấn luyện riêng, LLM sẽ quay về kiểu phản hồi AI chung chung vì không có tri thức thật sự về chính nó
  • LLM không suy luận như con người mà sinh token tuần tự, nên nếu muốn “nghĩ” đúng thì cần cấu trúc quá trình sinh
    • Nếu nhảy thẳng đến đáp án, nó có thể gần như chỉ là đoán
    • Nếu triển khai lời giải từng bước, kết quả có thể đáng tin hơn
    • Vì số layer của mô hình là hữu hạn, một token đầu ra không thể được xử lý vô hạn; chia bài toán thành các bước nhỏ làm tăng khả năng đi đến đáp án đúng
  • Với các tác vụ toán học và logic, thường nên cho mô hình dùng công cụ bên ngoài thay vì chỉ dựa vào suy luận nội tại của chính nó

Reinforcement learning và DeepSeek

  • Mô hình đã pretrain có thể có tri thức, nhưng vẫn chưa biết cách dùng tri thức đó một cách hiệu quả
    • Supervised fine-tuning dạy nó bắt chước phản hồi của con người
    • Reinforcement learning giúp nó tìm ra lời giải tốt hơn thông qua thử và sai
  • Ví dụ về quy trình reinforcement learning như sau
    • Tạo ra 15 lời giải cho cùng một bài toán
    • Nếu chỉ 4 lời giải là đúng, chọn những lời giải đúng và ngắn nhất ở nhóm trên
    • Học từ các lời giải đã chọn và lặp lại quá trình này nhiều lần
  • Trong quy trình này không có con người trực tiếp tham gia; mô hình tạo nhiều lời giải cho cùng một vấn đề, rồi chọn những lời giải đạt đáp án đúng để học
  • Pretraining và post-training đã được định nghĩa khá rõ, nhưng quy trình reinforcement learning vẫn đang là chủ đề được nghiên cứu rất sôi động
    • Các công ty như OpenAI cũng nghiên cứu nhiều nhưng có những phần chưa được công khai
    • Bài báo của DeepSeek công khai bàn về RL và FT cho LLM, đồng thời giải thích cách khơi ra năng lực suy luận
  • Trong ví dụ của bài báo DeepSeek, theo thời gian mô hình dùng nhiều token hơn để cải thiện suy luận
    • Cái gọi là khoảnh khắc “aha” khó có thể dạy tường minh chỉ bằng học bộ dữ liệu; đây là thứ mô hình phải tự tìm ra thông qua reinforcement learning
    • Ưu điểm là suy luận tốt hơn, nhược điểm là tiêu tốn nhiều token hơn

AlphaGo và tiềm năng của reinforcement learning

  • Trong nghiên cứu chinh phục cờ vây, reinforcement learning cho phép mô hình không chỉ bắt chước con người mà còn tự tìm ra chiến lược riêng bằng thử và sai
  • Move 37 trong trận AlphaGo được giới thiệu là một nước đi không có trong dữ liệu huấn luyện, mà là chiến lược mô hình tạo ra để giành chiến thắng
    • Các nhà nghiên cứu dự đoán xác suất con người chơi nước đi này chỉ là 1 trên 10.000
  • Reinforcement learning vẫn còn rất nhiều vùng chưa được khám phá và nghiên cứu đang tiếp tục
  • Nếu LLM đánh giá rằng cách tốt nhất để biểu đạt suy nghĩ và ý tưởng là một ngôn ngữ riêng, nó thậm chí có thể tự tạo ra ngôn ngữ đó

Miền không thể kiểm chứng và RLHF

  • Trong các miền có thể kiểm chứng, tương đối dễ loại con người khỏi vòng lặp reinforcement learning, và LLM có thể hoạt động như một bên phán xét hiệu năng của chính nó
  • Nhưng với miền không thể kiểm chứng như viết truyện cười hay tóm tắt, con người phải nằm trong vòng lặp
    • Với prompt như Write a joke about pelicans, rất khó tự động chấm chất lượng của câu đùa
    • LLM có thể tạo truyện cười, nhưng rất khó đánh giá chất lượng của chúng ở quy mô lớn
  • Vì cũng khó huy động con người ở quy mô lớn, nên cần cách tiếp cận như trong bài báo RLHF
  • RLHF huấn luyện một reward model riêng để chấm chất lượng phản hồi ở quy mô lớn
    • Con người đánh giá xếp hạng các phản hồi
    • Từ các đánh giá đó, reward model được huấn luyện đến mức mong muốn
    • Sau đó reward model dùng để chấm chất lượng phản hồi của LLM trên quy mô lớn

Ưu điểm và giới hạn của RLHF

  • Ưu điểm của RLHF gồm
    • Cho phép dùng reinforcement learning cả trong các miền không thể kiểm chứng như viết truyện cười hay tóm tắt
    • Thường giúp cải thiện mô hình bằng cách giảm hallucination và làm phản hồi giống con người hơn
    • Tận dụng discriminator-generator gap, tức con người đánh giá dễ hơn là tự tạo đáp án
      • Ví dụ: chọn “bài thơ nào hay nhất trong 5 bài này” dễ hơn là “hãy viết một bài thơ”
  • Nhưng giới hạn của RLHF cũng rất rõ
    • Reward model không phải con người thật mà là mô phỏng sở thích của con người
    • Reinforcement learning có thể tạo ra các ví dụ đối kháng để khai thác điểm yếu của reward model
    • Ví dụ, sau 1.000 lần cập nhật, “truyện cười hay nhất về pelican” có thể biến thành kết quả vô nghĩa như the the the the the the the the
  • Vấn đề này được gọi là Adversarial Machine Learning
  • Có vô số cách để khai thác hệ thống, nên việc lọc phản hồi xấu không hề đơn giản
  • Để ngăn over-optimization và suy giảm hiệu năng, việc huấn luyện reward model bị giới hạn ở mức vài trăm vòng lặp

Hướng đi tương lai của LLM

  • Trong tương lai, LLM có thể mở rộng theo nhiều hướng
    • Năng lực multimodal: hiểu và tạo không chỉ văn bản mà cả hình ảnh, âm thanh và video
    • Mô hình agent-based: vượt qua tác vụ đơn lẻ để tiến tới trí nhớ dài hạn, suy luận và sửa lỗi
    • AI thường nhật và vô hình: được tích hợp tự nhiên vào workflow
    • AI sử dụng máy tính: không chỉ sinh văn bản mà còn tương tác với phần mềm và thực hiện hành động
    • Test-time learning: thích nghi theo thời gian thực để tăng độ chính xác ngay tại thời điểm sử dụng

Nơi theo dõi và thử nghiệm LLM

  • Các nguồn tài nguyên để theo dõi sự phát triển của LLM
    • LM Arena: benchmark các mô hình ngôn ngữ mới
    • AI News: newsletter về nghiên cứu AI
    • X (Twitter): nhiều nhà nghiên cứu chia sẻ cập nhật tại đây
  • Những nơi có thể dùng thử nhiều LLM khác nhau
    • Proprietary Models: OpenAI GPT-4, Google Gemini, Anthropic Claude, v.v.
    • Open-Weight Models: DeepSeek, Meta Llama, v.v., có thể dùng trên Together.ai
    • Chạy cục bộ: dùng Ollama hoặc LM Studio
    • Base Models: có thể khám phá trên Hyperbolic

Chưa có bình luận nào.

Chưa có bình luận nào.