Sunday, March 29, 2026

Vì sao sức mạnh xử lý AI của MacBook M5 khiến AMD, Intel và Qualcomm chật vật bám đuổi?

St - Thứ Sáu 27-Mar 2026 lúc 12:16

Vì sao sức mạnh xử lý AI của MacBook M5 khiến AMD, Intel và Qualcomm chật vật bám đuổi?

MacBook M5 AI của Apple đang khiến cho tham vọng đưa Copilot thống trị mảng AI cục bộ (local AI) của Microsoft có nguy cơ tan vỡ.

Apple vừa ra mắt dòng MacBook Pro mới với chip M5 Pro và M5 Max, và chúng thực sự là những bản nâng cấp đáng kể. Chúng đặt ra một tiêu chuẩn hoàn toàn khác biệt trong cuộc đua xử lý AI cục bộ mà Microsoft cùng các đối tác phần cứng của mình là AMD, Intel, Qualcomm đều đang phải chạy theo.

Tại sao MacBook M5 là đối thủ mà AI của Microsoft phải dè chừng?

Dòng chip M5 trên MacBook mới của Apple khiến Copilot khó có thể theo kịp. (Ảnh: Apple)

Kiến trúc chip không mới, nhưng khác

Về mặt thiết kế vật lý, dòng chip M5 của Apple sử dụng hai die CPU được kết nối với nhau để tạo thành một hệ thống SoC duy nhất. Cơ bản thì đây không phải là chuyện mới vì người dùng công nghệ đã được nghe về những thiết kế tương tự. Ví dụ chúng ta có các con chip Ryzen 9 5950X hay 7950X3D sử dụng kiến trúc “chiplet” tương tự của AMD, với Infinity Fabric đóng vai trò cầu nối giữa các die.

Tại sao MacBook M5 là đối thủ mà AI của Microsoft phải dè chừng?

Kiến trúc chip M5 của Apple. (Ảnh: Apple)

Điều làm chip Apple khác biệt nằm ở chỗ họ kết hợp thiết kế đó với những lựa chọn kiến trúc táo bạo hơn nhiều. Các chip M5 có 2 loại nhân xử lý là "super cores" và "performance cores" (nhân siêu cấp và nhân hiệu năng). Nó cũng có từ 20 đến 40 nhân GPU, mỗi nhân tích hợp một bộ xử lý AI (neural accelerator) riêng, và có thể được trang bị bộ nhớ hợp nhất lên đến 128GB.

Bộ nhớ là vũ khí lớn nhất của Apple

Nếu phải chọn ra một yếu tố khiến các máy MacBook của Apple nói chung và M5 Max nói riêng trở nên khác biệt so với mọi laptop Windows hiện tại, đó chính là bộ nhớ hợp nhất (unified memory) được họ sử dụng. Đây là món “vũ khí” lợi hại nhất của Apple trong việc chinh phục các tác vụ AI một cách nhanh chóng.

Nếu bạn chưa biết thì một chiếc MacBook Pro 16 inch với chip M5 Max có tối thiểu 48GB bộ nhớ hợp nhất, và có thể được nâng lên đến 128GB (phải chọn ngay khi mua, không thể nâng cấp sau khi đã mua). Nó không phân chia RAM + VRAM riêng biệt như các máy tính chạy Windows mà là một khối bộ nhớ duy nhất, tốc độ cao, được chia sẻ linh hoạt giữa CPU, GPU và các nhân AI. Đây là kiến trúc mà laptop Windows không làm được theo cách tương tự.

Tại sao MacBook M5 là đối thủ mà AI của Microsoft phải dè chừng?

Các con chip M5 có sự cải thiện mạnh mẽ về hiệu năng. (Ảnh: Apple)

Tại sao đây lại là một ưu điểm lớn? Nói một cách dễ hiểu thì trên các laptop Windows chạy chip AMD hay Intel truyền thống, VRAM thường bị giới hạn. Với Intel, đó là một nửa RAM hệ thống được cấp phát; với AMD Ryzen thông thường, là một phần cố định. Khi dùng đồ họa rời thì dung lượng VRAM cũng bị hạn chế bởi những gì nhà sản xuất đã hàn sẵn trên card.

AMD đã cố gắng cải thiện vấn đề này với Ryzen AI Max cho phép điều chỉnh VRAM linh hoạt qua phần mềm Adrenalin, còn Intel cũng đã giới thiệu tính năng Shared GPU Memory Override vào tháng 8 năm ngoái. Dù vậy nhưng cả hai vẫn chưa đạt được sự linh hoạt thực sự mà Apple cung cấp. Còn Qualcomm – đối tác được Microsoft chọn cho các laptop chuẩn Copilot+ gần đây hoàn toàn không có tính năng tương đương.

Con số 128GB có ý nghĩa gì trong thực tế? Chiếc card đồ họa mạnh nhất hiện tại dành cho PC mà người ta thường dùng để chạy AI là Nvidia RTX 5090, và nó chỉ có 32GB VRAM. Các mô hình AI lớn với hàng chục tỷ tham số luôn cần bộ nhớ rất lớn để hoạt động và MacBook M5 Max có thể đáp ứng đòi hỏi này nhờ bộ nhớ hợp nhất của mình.

Tại sao MacBook M5 là đối thủ mà AI của Microsoft phải dè chừng?

Bạn có thể trang bị đến 128GB cho các MacBook chạy M5. (Ảnh: Apple)

AI cục bộ đã là hiện thực

Đây là điểm quan trọng nhất với những ai theo dõi xu hướng AI: MacBook M5 Max không chỉ chạy được các mô hình AI mạnh mà còn có thể chạy hoàn toàn cục bộ, ngay trên thiết bị, không cần kết nối đám mây hay kết nối internet.

Apple sử dụng framework gọi là MLX, một hệ thống mảng mã nguồn mở được thiết kế tối ưu cho chip của họ. Điều làm MLX đặc biệt là nó quản lý bộ nhớ hoàn toàn tự động: người dùng không cần tự phân bổ bộ nhớ cho CPU hay GPU.

MLX có thể tự do điều chỉnh, thậm chí có thể chạy mô hình trên cả CPU lẫn GPU mà không cần di chuyển dữ liệu giữa RAM và VRAM như máy chạy Windows. Điều này giúp tăng hiệu suất lên đáng kể vì việc di chuyển dữ liệu giữa các bộ nhớ luôn cần thời gian và ảnh hưởng đến tốc độ.

Tại sao MacBook M5 là đối thủ mà AI của Microsoft phải dè chừng?

So sánh tốc độ của các mô hình LLM khác nhau trên M5 với M4 cho TTFT và token kế tiếp, cùng mức bộ nhớ yêu cầu.

Theo ước tính của Apple, các mô hình AI phổ biến hiện nay đều có thể chạy thoải mái trên M5 Max. Qwen3, một mô hình 70 tỷ tham số hoàn toàn có thể chạy ngay trên laptop của hãng. Apple còn công bố sẵn một vài dòng code để "lượng tử hóa" (quantize) mô hình (tức là nén mô hình xuống độ chính xác thấp hơn mà không mất nhiều chất lượng) một thao tác đơn giản nhưng mở ra rất nhiều khả năng.

Lợi ích của việc chạy AI cục bộ là rõ ràng: không có độ trễ mạng, không phải trả phí subscription theo tháng, và quan trọng hơn cả là sự bảo mật khi dữ liệu không rời khỏi thiết bị. Với các ứng dụng thuộc lĩnh vực y tế, pháp lý, tài chính hay bất kỳ ngành nào chịu ràng buộc nghiêm ngặt về bảo mật dữ liệu, đây là lợi thế không thể bỏ qua.

NPU có ở khắp nơi

Apple có một cách tiếp cận kiến trúc AI khác biệt so với các đối thủ. Trong khi AMD, Intel và Qualcomm đều tích hợp NPU (Neural Processing Unit - bộ xử lý thần kinh) riêng biệt trên SoC của họ thì Apple lại nhúng một NPU vào từng nhân GPU của M5 Max.

Điều này có nghĩa là với GPU 40 nhân, bạn có 40 bộ xử lý thần kinh nhỏ hoạt động song song, thực hiện các phép tính cần thiết cho học máy cùng một lúc. Ngoài ra, Apple vẫn giữ một Neural Engine 16 nhân riêng biệt trên M5 Max.

Tại sao MacBook M5 là đối thủ mà AI của Microsoft phải dè chừng?

So sánh thời gian tạo câu trả lời giữa M4 và M5 (thấp hơn là tốt hơn).

Sự kết hợp giữa hai cấp độ xử lý này tạo ra một kiến trúc AI có khả năng trả lời câu hỏi của bạn nhanh hơn. Apple công bố "time to first token" (tức thời gian từ lúc gửi câu hỏi đến khi mô hình bắt đầu trả lời) nhanh hơn đáng kể so với thế hệ trước và các thiết bị cạnh tranh.

Điều này có quan trọng hay không là phụ thuộc vào từng người dùng. Với những ai dùng AI để viết code, phân tích văn bản hay làm việc sáng tạo thì tốc độ phản hồi không cần thiết bằng chất lượng câu trả lời. Nhưng trong các ứng dụng agentic AI, nơi mô hình cần gọi nhiều công cụ liên tục và phản hồi nhanh thì tốc độ xử lý sẽ rất được hoan nghênh.

Liệu Windows có thể bắt kịp?

Xin nói ngay rằng đáp án của câu hỏi này là có thể, nhưng không dễ. Microsoft đang phát triển Windows ML một nền tảng tương tự về nguyên tắc so với Apple. Nó sẽ cho phép ứng dụng tận dụng phần cứng mạnh nhất hiện có trên máy tính, dù là NPU, GPU hay CPU, để chạy AI cục bộ. Cách tiếp cận này linh hoạt hơn về mặt phần cứng bởi nó không đòi hỏi chip độc quyền.

Đối thủ đang bám sát M5 Max của Apple nhất trong hệ sinh thái Windows hiện tại là AMD Ryzen AI Max+ 395. AMD đã tăng cache của bộ xử lý này lên đến 80MB nhằm giảm độ trễ khi xử lý các tác vụ AI. Đây là một chiến lược mà hãng đã sử dụng hiệu quả trong các dòng chip gaming và là cách tiếp cận khác với Apple, nhưng không phải không có giá trị.

Tại sao MacBook M5 là đối thủ mà AI của Microsoft phải dè chừng?

AMD chọn cách tăng bộ nhớ đệm trong chip AI cao cấp nhất của họ.

Về phần Qualcomm với các chip Snapdragon X Elite thì chúng ta chưa biết được họ muốn làm gì. Dù các con chip ARM của Qualcomm là gần giống Apple nhất, chúng lại thiếu đi sự linh hoạt về bộ nhớ cần thiết để cạnh tranh trực tiếp trong lĩnh vực AI mô hình lớn. Intel thì vẫn đang trong giai đoạn cải thiện dần dần.

Điều đáng chú ý hơn là Mac Mini nhỏ gọn, không màn hình, và không được thiết kế đặc biệt cho AI đã trở thành thiết bị yêu thích của nhiều developer khi cần chạy LLM hay AI tác nhân cục bộ. MacBook Pro M5 Max về cơ bản chính là Mac Mini nhưng có thêm màn hình Liquid Retina XDR và có thể mang đi khắp nơi.

Một tiêu chuẩn mới cho AI cục bộ

MacBook Pro với chip M5 Max là một laptop mạnh và đồng thời cũng đã cho thấy rằng AI cục bộ là hoàn toàn khả thi. Nó mang lại những ưu điểm về bảo mật và tốc độ, trong khi không thua kém nhiều so với các phiên bản khổng lồ trên đám mây.

Với AMD, Intel, Qualcomm và cả Microsoft, thách thức mà Apple tạo ra không chỉ nằm ở thông số phần cứng mà còn ở phần mềm, khi các MacBook có sự tích hợp mượt mà giữa phần cứng và framework AI. Đây có lẽ là khoảng cách khó thu hẹp nhất vì Microsoft không thể tự mình tạo ra tất cả.

Wednesday, March 25, 2026

Cách cầm vợt pickleball chính xác dành cho người mới

 Cách cầm vợt pickleball đúng cách là yếu tố quan trọng giúp người mới chơi kiểm soát bóng tốt hơn, thực hiện các cú đánh chính xác và hạn chế chấn thương. Dù bạn là người mới hay đã có kinh nghiệm, việc hiểu rõ các kiểu cầm vợt phổ biến như Continental, Eastern, Western sẽ giúp bạn nâng cao kỹ năng nhanh chóng. Trong bài viết này, Decathlon sẽ hướng dẫn cách cầm vợt pickleball đúng kỹ thuật, kèm theo những lưu ý quan trọng để cải thiện hiệu suất chơi pickleball ngay từ những buổi tập đầu tiên.

Các cách cầm vợt pickleball theo cấp độ người chơi

Cấp độCách cầm phù hợpLý do
Người mới bắt đầuEastern GripDễ học, thuận tiện cho mọi cú đánh, giúp chuyển đổi giữa cú đánh thuận tay và trái tay dễ dàng.
Người chơi trung cấpContinental GripLinh hoạt trong nhiều kỹ thuật, phù hợp với lối chơi đa dạng, dễ điều chỉnh khi thực hiện cú volley và smash.
Người chơi nâng cao / chuyên nghiệpWestern GripTạo lực đánh mạnh hơn, tăng khả năng kiểm soát bóng khi thực hiện các cú topspin và smash.

3 Cách cầm vợt pickleball phổ biến nhất hiện nay

Làm quen với các khái niệm cơ bản trên vợt pickleball

Trước khi tìm hiểu về các kiểu cầm vợt, bạn cần hiểu về hệ thống số cầm trên cán vợt. Việc xác định số cầm giúp bạn đặt ngón trỏ đúng vị trí, từ đó lựa chọn kiểu cầm phù hợp với từng lối chơi. Khi thay đổi grip (cách cầm), vị trí đặt đốt đầu tiên của ngón trỏ trên cán vợt sẽ quyết định bạn đang sử dụng kiểu nào (Eastern, Western, Continental…).

1. Hệ thống số cầm trên cán vợt

Cán vợt pickleball (tương tự như tennis) có thiết kế hình bát giác, gồm 8 cạnh, tương ứng với các điểm đặt tay khi cầm vợt:

  • Số 1: Cạnh thẳng hàng với sống vợt, tức là cạnh hướng về phía trước khi bạn cầm vợt.
  • Số 2 – Số 8: Các cạnh còn lại được đánh số theo thứ tự:
    • Chiều kim đồng hồ (đối với người thuận tay phải).
    • Ngược chiều kim đồng hồ (đối với người thuận tay trái).

Hệ thống số cầm trên cán vợt pickleball dành cho người thuận tay phải

2. Xác định điểm tiếp xúc trên bàn tay

Khi cầm vợt, bàn tay sẽ tiếp xúc với cán vợt tại các điểm chính:

  • Đốt đầu tiên của ngón trỏ – yếu tố quan trọng nhất giúp xác định grip bạn đang sử dụng:
    • Nếu đặt trên cạnh số 2 → Continental Grip.
    • Nếu đặt trên cạnh số 3 → Eastern Grip.
    • Nếu đặt trên cạnh số 4 → Semi-Western Grip.
    • Nếu đặt trên cạnh số 5 → Western Grip.
  • Gốc bàn tay (phần thịt dưới ngón út) – tạo điểm tựa để vợt không bị tuột khỏi tay khi đánh bóng.
  • Ngón cái – giữ vai trò cố định, có thể đặt trên cán vợt hoặc ép nhẹ vào mặt bên để tăng khả năng kiểm soát.

⚠ Lưu ý:
Cầm sai vị trí có thể khiến bạn khó kiểm soát bónggiảm lực đánh, thậm chí dẫn đến chấn thương cổ tay khi chơi lâu dài.

1. Cách cầm vợt pickleball kiểu Continental Grip (Cán Số 2) – Phổ biến, linh hoạt nhất 

Kỹ thuật Continental Grip là một trong những kiểu cầm vợt đầu tiên trong lịch sử tennis, sau này được áp dụng rộng rãi vào bộ môn pickleball. Đây là kiểu cầm phổ biến nhất, được xem là cách cầm vạn năng, phù hợp với nhiều kỹ thuật đánh khác nhau. Đây là một cách đánh pickleball cơ bản mà người mới nên biết nhé!

Continental Grip phù hợp với các cú đánh:

  • Vô-lê (volley) – phản xạ nhanh, đánh bóng ngay trên lưới.
  • Dink – đánh bóng nhẹ qua lưới, kiểm soát độ nảy thấp.
  • Backhand một tay – giúp giữ cổ tay linh hoạt khi thực hiện cú đánh trái tay.
  • Giao bóng slice – tạo xoáy cắt, làm bóng đi thấp và khó đoán.
  • Forehand slice – giảm tốc độ bóng, gây khó khăn cho đối thủ.
Ưu điểmNhược điểm
Linh hoạt, dễ dàng chuyển đổi giữa các cú đánh mà không cần đổi cách cầm.Phù hợp với người mới bắt đầu, giúp làm quen với nhiều kỹ thuật cơ bản.Hiệu quả trong phòng thủ, đặc biệt khi đối mặt với những pha bóng nhanh.Hạn chế khi đánh topspin, vì cổ tay không được khóa tự nhiên.Ít phù hợp với bóng cao, khiến người chơi khó tạo lực mạnh khi đánh bóng ở trên tầm vai.

Đối tượng phù hợp

  • Người chơi muốn đa dạng hóa lối đánh, dễ dàng thực hiện cú vô-lê, cú dink (đánh bóng nhẹ qua lưới), topspin hoặc slice.
  • Thích hợp cho cả người mới bắt đầu lẫn người chơi có kinh nghiệm, vì có thể áp dụng cho nhiều tình huống trên sân.
  • Đặc biệt phù hợp với những ai chơi cả tennis hoặc bóng bàn trước đó, vì cách cầm này tương tự với cách cầm vợt trong các môn này.

Cách cầm vợt pickleball kiểu Continental Grip (Cán Số 2)

Cách cầm vợt kiểu Continental chuẩn

  1. Đặt vợt đúng vị trí: Giữ vợt bằng tay không thuận và đặt mặt vợt vuông góc với mặt đất.
  2. Xác định vị trí tay: Dùng tay thuận vuốt từ trên xuống cán vợt sao cho lòng bàn tay ôm quanh cán giống như cầm búa đóng đinh.
  3. Điều chỉnh ngón tay:
    • Ngón cái và ngón trỏ tạo thành hình chữ V dọc theo cạnh vợt.
    • Các ngón còn lại quấn quanh tay cầm một cách tự nhiên.
  4. Kiểm tra độ thẳng của vợt: Khi đặt vợt theo phương thẳng đứng, cán vợt, cổ tay và cẳng tay tạo thành một đường thẳng, giúp giữ vợt ổn định khi thực hiện cú đánh.
  5. Kiểm soát lực cầm:
    • Cầm vợt với lực vừa phải, không quá chặt để cổ tay có thể linh hoạt điều chỉnh góc đánh.
    • Nếu cầm quá chặt, bạn sẽ khó kiểm soát bóng, dễ bị căng cơ cổ tay và mất linh hoạt khi đổi hướng vợt.

Cách cầm vợt pickleball kiểu Continental Grip (Cán Số 2)

Lưu ý

  • Khi thực hiện các cú đánh nhanh như volley, giữ vợt hơi thoải mái để giảm lực phản chấn khi bóng tiếp xúc mặt vợt.
  • Nếu cảm thấy khó giữ vững cán vợt, có thể sử dụng grip quấn thêm để tăng độ bám và giảm áp lực lên tay.

2. Cách cầm vợt pickleball kiểu Eastern (Cán số 3) – Chuyên đánh thuận tay, tạo xoáy  

Eastern Grip là một trong những cách cầm vợt đơn giản và dễ học nhất, đặc biệt phù hợp với người mới bắt đầu nhờ sự linh hoạt trong nhiều cú đánh. Kiểu cầm này cũng giúp người chơi dễ dàng thực hiện cú đánh topspin (bóng xoáy tiến) và forehand drive mạnh mẽ. Người mới chơi nên tìm hiểu kỹ 17+ Kỹ Thuật đánh Pickleball Từ Cơ Bản đến Nâng Cao Bạn Cần Biết để đánh đúng kỹ thuật.

Eastern Grip phù hợp với các cú đánh:

  • Forehand drive – tạo lực mạnh, bóng đi thẳng và nhanh.
  • Topspin – tạo độ xoáy giúp bóng bay qua lưới rồi cắm xuống nhanh.
  • Smash – phù hợp với các cú đập bóng cao xuống.
Ưu điểmNhược điểm
Dễ học, phù hợp với người mới chơi do sự đơn giản và tự nhiên.Tạo topspin hiệu quả, giúp bóng cắm xuống sân đối thủ nhanh hơn.Forehand mạnh và ổn định, dễ dàng kiểm soát lực và hướng bóng.Hiệu quả khi đánh smash, tạo lực tốt khi tấn công từ trên cao.Kém linh hoạt trong volley, khó xử lý bóng nhanh gần lưới.

Đối tượng phù hợp

  • Người mới chơi pickleball, cần một kiểu cầm dễ học, giúp làm quen nhanh với các cú đánh cơ bản.
  • Người chơi thích sự linh hoạt trong cú đánh thuận tay (forehand), vì Eastern Grip tạo lực và độ xoáy tốt hơn so với Continental Grip (Cán số 2).
  • Người có lối chơi tấn công, ưu tiên các cú đánh mạnh, topspin hoặc smash để gây áp lực lên đối thủ.

Cách cầm vợt pickleball kiểu Eastern (Cán số 3)

Cách cầm vợt kiểu Eastern đúng chuẩn 

  1. Xác định vị trí tay:
    • Giữ vợt bằng tay không thuận, đặt mặt vợt song song với mặt đất.
    • Dùng tay thuận bắt tay với cán vợt sao cho lòng bàn tay áp vào mặt bên của cán, giống như bạn đang bắt tay với ai đó.
  2. Điều chỉnh vị trí ngón tay:
    • Ngón cái và ngón trỏ tạo thành hình chữ “V” trên cán vợt, hướng về phía cạnh vợt.
    • Các ngón còn lại quấn tự nhiên quanh tay cầm để tạo sự ổn định.
  3. Kiểm tra cảm giác cầm:
    • Không cầm quá chặt để đảm bảo cổ tay có thể linh hoạt di chuyển.
    • Giữ một khoảng trống nhẹ giữa lòng bàn tay và cán vợt để tránh cảm giác căng cứng khi thực hiện cú đánh.

Cách cầm vợt pickleball kiểu Eastern (Cán số 3)  

Lưu ý

  • Kiểu cầm này phù hợp với cú đánh thuận tay mạnh, nhưng có thể kém hiệu quả khi thực hiện các cú đánh bóng xoáy hoặc phòng thủ mạnh.
  • Nếu cảm thấy vợt dễ bị xoay trong tay khi đánh bóng, bạn có thể quấn thêm grip để tăng độ bám và cảm giác chắc chắn hơn.

3. Cách cầm vợt pickleball kiểu Western (Cán vợt số 5) – Phù hợp cho người chơi chuyên nghiệp 

Kiểu cầm Western, còn được gọi là kiểu cầm “chảo rán”, ít phổ biến trong pickleball nhưng vẫn có vai trò nhất định, đặc biệt trong các cú đánh yêu cầu độ xoáy cao. Dù không phù hợp cho lối chơi toàn diện, nhưng cách cầm vợt này lại giúp tối ưu hóa một số kỹ thuật tấn công mạnh mẽ.

Ưu điểmNhược điểm
Tạo topspin tối đa, giúp bóng nảy cao và khó đoán hướng đi.Lợi thế cho người thuận cả hai tay (ambidextrous), vì mọi cú đánh đều giống như cú thuận tay (forehand).Thực hiện cú đánh “bọ cạp” (Scorpion Shot) hiệu quả, giúp hất bóng qua đầu đối thủ bằng lưng vợt.Yêu cầu cổ tay khỏe, do cần lực để tạo xoáy và điều hướng bóng chính xác.Ít linh hoạt, khó đổi grip nhanh để xử lý những cú đánh bất ngờ.Khó kiểm soát bóng khi phòng thủ, đặc biệt khi đối thủ đánh bóng nhanh và thấp.

Đối tượng phù hợp

  • Người chơi có lối đánh tấn công, thích tung ra những cú đánh có lực mạnh, đặc biệt là topspin.
  • Người chơi có kinh nghiệm, đã quen với pickleball và muốn nâng cao kỹ thuật.
  • Những ai thích cú đánh bóng xoáy, vì kiểu cầm này hỗ trợ tạo spin tốt hơn so với kiểu Eastern hay Continental.


Cách cầm vợt pickleball kiểu Western (Cán vợt số 5)

Cách cầm vợt Western đúng chuẩn

  1. Xác định vị trí tay:
    • Cầm vợt sao cho mặt vợt hơi hướng xuống đất thay vì giữ thẳng đứng.
    • Đặt lòng bàn tay lên mặt vợt và trượt tay xuống cán, tương tự như kiểu cầm Eastern, nhưng xoay thêm một chút.
  2. Điều chỉnh vị trí ngón tay:
    • Ngón cái và ngón trỏ tạo thành hình chữ “V”, nhưng mở rộng góc hơn so với kiểu cầm Eastern.
    • Ngón cái đặt ở mặt trước của tay cầm, giúp tăng độ bám khi thực hiện cú đánh.
    • Các ngón còn lại quấn quanh tay cầm một cách tự nhiên, giữ cho vợt chắc chắn nhưng không quá chặt.
  3. Góc cầm vợt lý tưởng:
    • Giữ vợt ở góc khoảng 45 độ so với mặt đất, giúp dễ dàng thực hiện cú topspin và đánh bóng mạnh.
    • Khi thực hiện cú đánh, cổ tay nên linh hoạt, không nên siết quá chặt để tránh làm giảm khả năng kiểm soát bóng.


Cách cầm vợt pickleball kiểu Western (Cán vợt số 5)

Lưu ý

  • Khó thực hiện cú đánh trái tay (backhand): Do góc cầm thiên về forehand, nếu muốn đánh backhand hiệu quả, bạn có thể cần thay đổi sang grip khác.
  • Cần cổ tay khỏe: Vì kiểu cầm này đòi hỏi nhiều lực từ cổ tay để tạo xoáy và kiểm soát bóng tốt hơn. 

7 Lỗi sai kinh điển khi cầm vợt của người mới chơi

Việc cầm vợt sai không chỉ ảnh hưởng đến hiệu suất chơi mà còn có thể gây chấn thương cổ tay và cánh tay. Dưới đây là những lỗi sai phổ biến mà người mới chơi thường mắc phải khi cầm vợt pickleball:

1. Cầm mặt vợt song song với người

  • Sai lầm: Cầm vợt sao cho mặt vợt đối diện trực tiếp với cơ thể thay vì đặt ở góc nghiêng phù hợp. Điều này làm giảm khả năng kiểm soát bóng và dễ mắc lỗi khi thực hiện cú đánh topspin hoặc backhand.
  • Cách sửa: Giữ mặt vợt nghiêng nhẹ về phía trước, tạo góc đánh linh hoạt và dễ dàng điều chỉnh đường bóng.

Kiểu cầm vợt pickleball sai

2. Cầm vợt giống như cầm vợt cầu lông

  • Sai lầm: Nhiều người mới chơi có thói quen cầm vợt pickleball theo kiểu vợt cầu lông, với ngón trỏ duỗi ra và tay cầm quá cao.
    Cách sửa: Pickleball yêu cầu cách cầm vợt chắc chắn và linh hoạt hơn. Lưu ý đừng cầm vợt quá cao để đảm bảo tay cầm có độ bám tốt nhưng không quá căng cứng.

Kiểu cầm vợt pickleball sai

3. Cầm vợt quá chặt hoặc quá lỏng

  • Sai lầm
    • Cầm quá chặt: Làm giảm sự linh hoạt của cổ tay, khiến các cú đánh thiếu chính xác và dễ mỏi tay.
    • Cầm quá lỏng: Vợt dễ bị xoay trong tay khi tiếp xúc với bóng, dẫn đến những cú đánh yếu và thiếu kiểm soát.
  • Cách sửa: Duy trì lực cầm vừa phải, có thể tưởng tượng như đang bắt tay một người khác. 


Lỗi cầm vợt quá chặt, không có khoảng cách giữa các ngón tay

4. Không sử dụng ngón tay cái đúng cách

  • Sai lầm: Ngón cái không đặt đúng vị trí, có thể đặt quá cao hoặc quá thấp trên tay cầm, làm giảm sự ổn định khi đánh bóng.
  • Cách sửa: Đặt ngón cái nằm dọc theo cạnh cán vợt hoặc áp nhẹ vào mặt trước của tay cầm, tùy vào kiểu grip mà bạn sử dụng.

5. Vị trí đặt tay không đúng

  • Sai lầm: Nhiều người cầm vợt quá cao trên cán hoặc quá thấp, làm mất đi sự cân bằng trong cú đánh.
  • Cách sửa: Cầm vợt ở vị trí phù hợp với kích thước tay, không quá gần mặt vợt hoặc quá xa về cuối cán.

Lỗi cầm vợt quá sát

6. Không điều chỉnh cách cầm vợt cho các cú đánh khác nhau

  • Sai lầm: Giữ nguyên một kiểu grip cho mọi tình huống đánh, khiến cú backhand hoặc volley thiếu chính xác.
  • Cách sửa: Học cách chuyển đổi giữa các grip như Continental, Eastern, Western để linh hoạt hơn khi thi đấu.

7. Cầm vợt quá cao hoặc quá thấp

  • Sai lầm:
    • Cầm quá cao làm giảm lực đánh, khiến bóng đi yếu hơn.
    • Cầm quá thấp có thể khiến vợt mất kiểm soát, đặc biệt trong các pha volley nhanh. 
  • Cách sửa: Cầm vợt ở vị trí trung bình, vừa vặn với kích thước tay để có sự kiểm soát tốt nhất.

Bài viết trên đã hướng dẫn cách cầm vợt pickleball đúng cách và phù hợp coho người mới, giúp bạn kiểm soát bóng tốt hơn mà còn nâng cao độ chính xác và hiệu quả trong mỗi cú đánh. Đừng quên thực hành thường xuyên để hoàn thiện kỹ năng và tận hưởng trọn vẹn niềm vui khi chơi pickleball!

Nguồn: St 02/07/2025

Sunday, June 15, 2025

From Zero to PPO: Understanding the Path to Helpful AI Models

November 11, 2024

https://www.adaptive-ml.com/post/from-zero-to-ppo

Authors
Alessandro Cappelli
Julien Launay
Editors
Pearson Probst

Model: Llama 3.1 8B (pre-trained)
Question
: What to do during a stopover in Paris?
Answer
: Another interesting corner of Paris fans should certainly try is the very legendary "trapsetem". Anyone who has not yet tasted algerian food, "Kaov", this place is really worth seeing. The accompanying wine or beer is also carefully selected and will be charged separately. If you have just arrived in the plane and have not yet gained strength, this place will be a great icebreaker for the trip.

That's... not quite right! Immediately after pre-training, large language models (LLMs) are but savant autocorrects. They excel at predicting the next token, exhibit formidable world knowledge, yet struggle to converse fluently with users.

Helpfulness is instilled in LLMs as a result of extensive post-training. Early forays included fine-tuning models on conversations mined from social media, or on synthetic data generated from task-specific datasets.

One post-training method stands out as exceptionally successful: reinforcement learning from human feedback (RLHF). At variance with previous methods, RLHF enables models to learn directly from human preferences, capturing rich, nuanced feedback rather than relying solely on specific example continuations. RLHF is the key technique behind seamless and engaging conversational experiences the likes of ChatGPT.

One of the de facto engines of RLHF is proximal policy optimization (PPO). At first glance, PPO is puzzling; when applied to LLMs, it involves no less than four different versions of the model interacting together (policy, value, reward, and reference), and is driven by an intricate objective function.

In this walkthrough, we will build-up an intuitive understanding of PPO, starting from supervised fine-tuning. We will connect the dots across rejection sampling, reward models, REINFORCE, and advantage actor-critic (A2C), drawing a deeper understanding of how to tune LLMs to deliver helpful, harmless, and honest answers.

Supervised finetuning: maximizing the likelihood of helpful answers

At the start of this post, we asked Llama 3.1 8B–not the post-trained, Instruct version, but the pretrained one–to help us with some vacation planning. On-top of being unhelpful, neither trapsetem nor Kaov are real places in Paris. Pull-up your favorite AI assistant and ask the same question–the difference will be stark. Why is that?

At the end of pre-training, the sum total knowledge of billions of web pages, millions of books & codebases, and thousands of scientific articles has been embedded within the weights of an LLM.

Unfortunately, the only way to access this tremendous knowledge is through next word prediction. When faced with a user’s query, the model may instead provide a list of related questions rather than a direct answer. Or provide a very specific, not entirely applicable answer. Asking for further clarification will only add to the confusion. Thus, pretrained models are unwieldy to work with: aliens of extraordinary intelligence, yet little understanding.

Partly, this is a context & diversity problem. With only a few words as context, it is hard for the model to judge how to continue appropriately. The adequate continuation might be a Shakespearean sonnet; a paragraph fit for your decades-old niche teenage blog; or simply a casual answer to a travel question. All of this, and more, are present in the pre-training corpus.

Some prompting may be helpful: be it in the form of demonstrations of the expected behavior or of adding conversational structure to the text. But prompting a pre-trained model is its own art; we are still standing on shaky, unpredictable foundations.

Let’s fix that. We will tune the desired behavior into the weights of the model. Why not extend the simple next-word prediction of pre-training, but with data illustrative of the conversations we want to have with the model? This is the basis of supervised fine-tuning (SFT).

We will need a golden dataset of conversations for our models to imitate. We may obtain this dataset from proprietary data, from mining the web, or we may hire annotators to demonstrate proper conversations. Training on this dataset will maximize the likelihood that, when faced with users’ questions, the model will answer adequately. After SFT, the model will adhere to the examples of our golden dataset, delivering similarly helpful answers.

Wasn’t that easy? Simply needed a bit of specialization after pre-training and we are all done. Ship to production! This is the only tuning technique we need… right?

Not quite. Supervised fine-tuning has a pathological shortcoming related to generalization. SFT provides specific demonstrations of the right answer to the model ex-nihilo: the model did not come up with them on its own. SFT gives the LLM a fish; it does not teach it to fish.

The demonstrations may be useless to the model, out-of-grasp, or irrelevant to current gaps in its knowledge. Parroting gold answers could lead to poor generalization when the LLM is left to its own devices, resulting in hallucinations. Additionally, producing complete golden demonstrations independently is costly and hard to scale.

A more effective learning process would be for the LLM to suggest completions, and to learn through the evaluation of these completions instead–akin to a student learning from exercises rather than simply reading a textbook. Let’s build that better learning process!

Learning from rejection sampling: finding the model’s own helpful answers

During pre-training and supervised fine-tuning, there is no iterative inference. In the forward pass, the likelihood of the proposed gold tokens is calculated, and compared to the likelihood of all other tokens in the vocabulary. The training then maximizes the likelihood of the proposed tokens. Thus, the model is never in the pilot seat: it does not choose what tokens to generate.

Instead, we now seek to learn from answers generated by the model itself. To find great answers, we will go through rejection sampling: generate many candidate answers, and filter to find the best ones.

Since LLMs output probability distributions, we can simply sample many different answers to a single question. This can be done by increasing the temperature of sampling. We now have a riff-raff of candidate answers, and it’s time for evaluation.

The answers need ratings, to let us select the best ones only. Turning to annotators once again, they will rate the completions according to guidelines of what defines helpfulness. This is a much more scalable process than explicit demonstrations; annotators do not have to write an answer from scratch, but simply review a model-generated one.

At this stage, we can fine-tune on the top-rated completions. Is this effective? Yes! In the early days of post-training, you may remember davinci-instruct-beta and text-davinci-001/002 as its successors. Well, the beta model was trained using SFT on gold demonstrations. Further improvements with 001/002 were enabled by using the process outlined above, coined as FeedME by OpenAI.

Remember our original motivation: we wanted to drive the learning process with answers coming from the LLM itself. While we have taken a step in the right direction, our data generation & rating process remains offline (i.e., it happens once before SFT). Over the course of a sufficiently long SFT run, our model will drift away significantly from its original state. Notably, midway through fine-tuning, the model may have learned to solve a new task, but this won’t be reflected in the training data.

Ideally, we want to run multiple rounds of this process, or even run it truly online. In both scenarios, we are bottlenecked by the collection of ratings from annotators; this may take days or even weeks. Time to automate that process.

Reward modeling: let models evaluate the helpfulness of answers

Rather than always requiring an annotator to produce ratings, we will handoff this task to a reward model (RM).

The pitch: use ratings collected from annotators to train a model to rate more completions in the future. The model will have an understanding of human preferences, and could be used for rejection sampling. Without a dependency on external annotators past the training of the RM, we now have the flexibility required to easily run in rounds, or even online. This approach was extensively explored in the Llama 2 paper.

Since our LLM is already an amazing engine for language understanding, we will initialize the reward model with it. The language head (output projection from model inner dimension to vocabulary) is ablated, and replaced with a scalar head. The RM produces a single reward value.  

One challenge in collecting ratings from annotators is calibration: i.e., ensuring that the quality of a 3 out of 5 is consistent across different samples, or even across annotators. Instead, it is easier for annotators to provide preferences: is answer A or B better?

Luckily, the RM can be trained on preferences instead of absolute ratings through a simple change in the objective function. Note that the RM still takes as input a single candidate answer, and outputs an absolute reward score–no change required there.

We have significantly augmented our ability to evaluate LLM samples. By distilling the experience of annotators into the reward model, online rating of completions is now possible. Obviously, this is no panacea: our reward model is still limited by the scope of the initial preference collection. Should the capabilities of the trainee model shift significantly, the reward model may struggle to provide ratings faithful to human preferences. Let’s put this aside for a moment–we will revisit this issue at the end of the post.

It’s time to think about efficiency. Remember, thus far, we have only trained on the top-rated completions. Of the millions we generate, we may only use a few thousand. What if we could also learn from the poorly-rated ones? What if the model could derive a learning signal from being wrong, avoiding this behavior in the future?

REINFORCE: learn from the good, and the bad

Encourage top-rated completions, discourage low-rated ones. No extra trick needed: this is all it takes to implement REINFORCE.

So far, rejection sampling & reward modeling have been implemented through changes to the data distribution of the trainee LLM. For REINFORCE, the change occurs at the loss-level (i.e., the training objective): keeping the maximum likelihood objective from SFT, we simply multiply it by the reward.

Remember that the SFT objective evaluates how well the model is imitating the provided sample. By scaling it by the reward, we will strengthen the signal for imitating good samples and dampen it for bad samples. Even better: if the reward goes negative, it explicitly pushes the model away from imitating samples!

Thus, we will need to ensure the reward is adequately scaled. Indeed, if our reward model only outputs a value between 0 and 1, we would still be encouraging poor completions, just less so than good ones. Bad completions need to have a negative score.

Rather than tweaking the reward model, we will bias the rewards in the loss of the trainee LLM, to an average of zero. The trainee LLM will be optimized to avoid the lowest reward, and to seek the highest one–regardless of their absolute value.

With a reward model for online judging and the use of REINFORCE to learn from failures, we are now chiefly into reinforcement learning (RL) territory–it didn’t take much!

While REINFORCE is too simple to have achieved resounding success in harder RL settings (e.g., Atari games), it is sufficient to effectively tune LLMs to be helpful. Notably, at variance with historical RL pursuits, we start from a pre-trained model. While typical RL agents need billions of samples before learning to execute the task passably, our pre-trained model is already capable. Thus, post-training RL runs are more consistent, alleviating many of the historical issues related to laborious cold starts.

It’s time to up the ante. The reward is currently attributed at the completion-level: i.e. there is a single reward for the entire answer. Notably, there is no concept of identifying where in the completion things went well (or wrong). Back to our example:

Question: What to do during a stopover in Paris?
Answer:
- Sip on a decadent hot chocolate at Jacques Genin, in the 3rd arrondissement;
- Take a stroll around the White House lawn;
- Go for a walking tour of Montmartre.

The first and third recommendations are helpful, but certainly not the second. Unfortunately, with REINFORCE, we either make the whole completion more or less likely. This is unfair! The LLM actually had ⅔ of a reasonable answer. What if, instead, we could assign blame at the token-level, and better understand where the model took a wrong turn? Let’s tackle the problem of credit assignment.

Advantage actor-critic (A2C): understand what makes an answer helpful

As we foray deeper into reinforcement learning, we need to adopt some of its terminology. RL deals with states and actions. The state is the overall context preceding a token: this is the prompt, plus all of the tokens generated so far. In a given state, the LLM takes an action: it generates a new token. Oh, and now our trainee LLM will be called the policy model–it’s in the driver seat, taking us from state to state through its actions, building-up a trajectory. The final state is reached when the LLM generates the <EOD> (end of document) token.

At every step, we want the model to find maximally beneficial actions, which will result in a final state with a high reward. Think of it like a chess game: we want to value strategic moves that set up a later win, and avoid blunders that cost us the game. To make this more explicit in the objective, we will add granularity: instead of only encouraging/discouraging at the level of the full trajectory, we will encourage/discourage individual actions in the trajectory.

To do so, couldn’t we simply use the reward on unfinished completions? Not quite. The reward model deals in the immediate quality of a completion, not its potential future quality. It has no concept of how valuable a current state is for the future. Indeed, incomplete answers would be rated poorly by the reward model.

Instead, we want to evaluate how valuable a given state is. The value of a state is the reward we expect to ultimately earn should we continue to generate from that state until completion using the policy. Evaluating this will be the responsibility of the value model. The value model is intrinsically tied to the policy: it assumes we will continue taking actions per the policy’s guidance. Accordingly, we will need to train it alongside the policy.

The value model is no different in its mechanics (i.e., scalar head instead of language head) than the reward model–so we will initialize it from the reward model.

To train the value model, we will use a simple regression objective. From any intermediary state in a trajectory, the value model attempts to predict the reward of the complete trajectory. This is a simple supervised training setup: we have access to this information through the reward model.

It’s worth pondering: how does this allow the value model to attribute success & failures to specific tokens? Across many thousands of trajectories, some good and some bad, the shared generic content will average to zero influence on the reward. Meanwhile, the model will learn to generalize and draw connections between actions that systematically, across completions, resulting in a positive or negative outcome.

Finally, we need to update the training of the policy model (trainee LLM) to incorporate the value predictions. The policy model is already trained on actions: the likelihood of generating a token at a given state. We will want to scale how much we encourage/discourage a specific action based on whether it takes us into a more valuable state.

To do so, we need to calculate the action’s advantage. The advantage is how much value we gain (or lose) from taking that action compared to the average we expect from sampling the policy many times. (Remember that the policy generation is stochastic: there is a random component to it, through the temperature.) Once we have a value and reward models, we can compute advantages through Generalized Advantage Estimation (GAE).

Putting it all together, we have implemented advantage actor-critic (A2C)–where the actor is our trainee LLM/policy, and the critic is our value model.

A2C is a powerful RL method, but it has one significant drawback: we only learn once from each trajectory we sampled! We take a batch of prompts, sample a batch of completions, rate them with our reward model, run the A2C step to update the policy and value, and have to start anew. This is inefficient, as the sampling is the most (computationally) expensive step. Even more so when tool use (e.g., calling a database, interacting with the environment) enters the picture: running the sampling again means running the tools again, creating another bottleneck.

Accordingly, we would like to extract more value from trajectories we sample, by repeating our learning step multiple times. Simply repeating the A2C step without resampling doesn’t work: the run will diverge. Let’s do it in a principled way.

Proximal policy optimization (PPO): learn more from model answers

At last, proximal policy optimization (PPO). It’s all in the name: proximal, because we will be reusing completions sampled not online from the current policy, but from a previous–still closely related–version of the policy. We will call it the sampling policy.

We will use the trajectories and advantages produced by the sampling policy for multiple steps, rather than sampling and calculating new ones. To use these effectively with the current policy, the PPO objective leverages importance sampling. Between sampling and current policy, the likelihood of sampling an action resulting in a given advantage has changed: we thus rescale the advantages estimated at sampling time by the ratio of likelihood between the sampling and current policy. This allows us to use these advantages for many steps.

Unfortunately, this formulation results in unstable optimization dynamics. Notably, the objective can be trivially gamed by a never-ending increase in the likelihood of actions with a large advantage at sampling time. As we do not re-evaluate the advantages, we will never know whether we have gone too far and over-optimized an action.

This is the main challenge of PPO: optimizing an on-policy objective based on (slightly) off-policy samples. We must ensure that our current policy does not stray too far from our sampling policy, or we enter uncharted territory.

In our example of planning a stopover in Paris, the model may find a large advantage in predicting the token “Eiffel” for the Eiffel Tower. With importance sampling, the model will be encouraged again and again to increase the likelihood of that token. There is no mechanism to moderate this behavior. By the end of the training run, the model will be obsessed with the Eiffel Tower:

Question: What to do during a stopover in Paris? Answer:
1. Visit
 the Eiffel Tower;
2. Visit the Eiffel Tower;
3. Visit the Eiffel Tower.

Accordingly, PPO introduces a clipping of the importance sampling ratio. This clipping acts in two ways. For a positive advantage, it prevents the policy from being further rewarded once the likelihood of an action has increased past the clipping threshold. For a negative advantage, it does the same but prevents too large a decrease. This prevents the model from over-optimizing the same source of advantage. Furthermore, the clipping effectively keeps the likelihood produced by the current policy close to the ones produced by the sampling policy, preventing the model from veering too far.

Outer generation loop: repeat until dataset is exhausted

  • - Take a batch of prompts from our dataset and sample completions with the policy model (the sampling policy), setting aside the sampling likelihoods;
  • - Evaluate the completions with the reference model to obtain the reference likelihoods
  • - Calculate the token-wise KL penalty using reference and sampling likelihoods
  • - Evaluate completions with the reward model and deduce the KL-penalty to obtain the rewards;
  • - Evaluate completions with the value model to obtain the values;

Inner optimization loop: repeat for k steps

  • - Calculate current likelihoods of completions using the current policy model;
  • - Compute the importance sampling ratio between sampling and current likelihoods, this ratio is 1 for the first step (sampling policy is current policy);
  • - Update the policy model using the PPO objective;
  • - Fit value model using rewards and values.

Note that on the first run through of the inner optimization loop, the sampling and current policies are the same model–the first iteration is online.

Clipping protects us from over-optimization within the inner optimization loop; but, what about over-optimization of the reward model in the outer loop?

PPO+KL penalty: one last trick for principled training

Unfortunately, the Eiffel Tower example can arise from the reward model too–across SFT from rejection sampling, REINFORCE, A2C, and PPO. The reward model may have learned spurious correlations between specific utterances (e.g., “delve into”, “certainly”) and human preferences. In turn, the policy may over-optimize for these dubious connections. Eventually, the policy will become a slop generator, outputting a word soup of the most rewarded tokens, with no regard for natural language.

Once again, this issue is related to online vs offline optimization. The reward model is trained offline, from annotations of samples generated by the original model. Should the reward model be trained on fresh samples, the human annotators would certainly catch the over-optimization and degradation in quality.

A simple solution is to split post-training into multiple rounds of PPO. In between rounds, new annotations are collected from the latest policy, and a new reward model is trained.

However, to maximize how much we get from each round, we have another trick up our sleeve. To protect from over-optimization in the outer-loop, we will introduce a penalty for veering too far off from a reference model. The reference model is the initial model from which we start the PPO round; it was used to generate the training data of the reward model. We want to prevent the policy from becoming too different from this model.

To the reward, we add a token-level penalty proportional to how different are the distributions of likelihoods for this token across the policy and reference model. To do so, we use the  Kullback-Leibler divergence (KL). As usual when dealing with quantities comparing probability distributions, evaluating the true KL-divergence is intractable: it would require exploring all possible trajectories under both the reference model and the policy. Instead, we use a sampling approximation, based on subtracting the logprobs of the sampled states. This estimate is bias-free, although it has a high-variance.

OK – let’s put it all together:

Outer generation loop: repeat until dataset is exhausted

  • - Take a batch of prompts from our dataset and sample completions with the policy model (the sampling policy), setting aside the sampling likelihoods;
  • - Evaluate the completions with the reference model to obtain the reference likelihoods
  • - Calculate the token-wise KL penalty using reference and sampling likelihoods
  • - Evaluate completions with the reward model and deduce the KL-penalty to obtain the rewards;
  • - Evaluate completions with the value model to obtain the values;

Inner optimization loop: repeat for k steps

  • - Calculate current likelihoods of completions using the current policy model;
  • - Compute the importance sampling ratio between sampling and current likelihoods, this ratio is 1 for the first step (sampling policy is current policy);
  • - Update the policy model using the PPO objective;
  • - Fit value model using rewards and values.

Post-training from human preferences… and beyond

Starting from supervised fine-tuning (SFT), we have built up to proximal policy optimization (PPO). We have enabled learning from preferences, using demonstrations sourced directly from the model itself rather than provided ex-nihilo. We have also built a principled approach to off-policy learning: this allows us to get more from each sample generated and annotation collected.

Notably, to keep off-policy learning from running afoul, we have introduced clipping of the importance sampling ratio in PPO, and the use of a reference model to constrain the policy. Obviously, the constraints will have to be balanced: too strong of a penalty, and the performance of the policy (our trainee model) will suffer.

These methods are (some of) the building blocks of a modern post-training pipeline. From there, it is easy to see many possibilities: could human annotations be augmented, or even replaced by LLM judges? Could execution/tool feedback be used as a reward instead of human preferences? Could we build finer-grained rewards to help models plan their reasoning? Could the value model be used to guide sampling from the policy at inference time?

A mature pipeline will combine multiple stages of SFT, PPO, and more. It will leverage domain-specialized models purely for completion generation and annotation, to help bootstrap capabilities in the trainee model. It will fork, select, and merge the most promising models. Ultimately, post-training will meticulously shape the behavior and capabilities of the trainee model, delivering the perfect experience to end users.