Chào mừng Llama 4 Maverick & Scout trên Hugging Face!

Bài viết này giới thiệu Llama 4 Maverick & Scout trên Hugging Face.

  • 11 min read
Chào mừng Llama 4 Maverick & Scout trên Hugging Face!
Bài viết này giới thiệu Llama 4 Maverick & Scout trên Hugging Face.

Chào mừng Llama 4 Maverick & Scout trên Hugging Face

Chúng tôi vô cùng vui mừng chào đón thế hệ mô hình ngôn ngữ lớn tiếp theo từ Meta đến Hugging Face Hub: Llama 4 Maverick (~400B)Llama 4 Scout (~109B)! 🤗 Cả hai đều là các mô hình Mixture of Experts (MoE) với 17B tham số đang hoạt động.

Được phát hành ngày hôm nay, những mô hình đa phương thức mạnh mẽ này đại diện cho một bước tiến đáng kể. Chúng tôi đã làm việc chặt chẽ với Meta để đảm bảo tích hợp liền mạch vào hệ sinh thái Hugging Face, bao gồm cả transformers và TGI ngay từ ngày đầu tiên.

Đây chỉ là sự khởi đầu cho hành trình của chúng tôi với Llama 4. Trong những ngày tới, chúng tôi sẽ tiếp tục hợp tác với cộng đồng để xây dựng các mô hình, bộ dữ liệu và ứng dụng tuyệt vời với Maverick và Scout! 🔥

Llama 4 là gì?

Llama 4, được phát triển bởi Meta, giới thiệu một kiến trúc Mixture-of-Experts (MoE) tự hồi quy mới. Thế hệ này bao gồm hai mô hình:

  • Llama 4 Maverick có khả năng cao với 17B tham số hoạt động trong tổng số ~400B, với 128 chuyên gia.
  • Llama 4 Scout hiệu quả cũng có 17B tham số hoạt động trong tổng số ~109B, chỉ sử dụng 16 chuyên gia.

Cả hai mô hình đều tận dụng tính năng hợp nhất sớm (early fusion) cho đa phương thức gốc, cho phép chúng xử lý các đầu vào văn bản và hình ảnh. Maverick và Scout đều được đào tạo trên tối đa 40 nghìn tỷ token trên dữ liệu bao gồm 200 ngôn ngữ (với hỗ trợ tinh chỉnh cụ thể cho 12 ngôn ngữ bao gồm tiếng Ả Rập, tiếng Tây Ban Nha, tiếng Đức và tiếng Hindi).

Đối với việc triển khai, Llama 4 Scout được thiết kế để dễ tiếp cận, phù hợp với một GPU cấp máy chủ duy nhất thông qua lượng tử hóa 4-bit hoặc 8-bit tức thì, trong khi Maverick có sẵn ở định dạng BF16 và FP8. Các mô hình này được phát hành theo Thỏa thuận Giấy phép Cộng đồng Llama 4 tùy chỉnh, có sẵn trên kho lưu trữ mô hình.

Các tính năng và tích hợp trên Hugging Face

Để giúp cộng đồng tận dụng các mô hình hiện đại này ngay lập tức, chúng tôi rất vui mừng thông báo các tích hợp sau:

  • Điểm kiểm tra mô hình trên Hub: Cả trọng số mô hình Llama 4 Maverick và Llama 4 Scout đều có sẵn trực tiếp trên Hugging Face Hub thuộc tổ chức meta-llama. Điều này bao gồm cả các biến thể cơ sở và được điều chỉnh theo hướng dẫn. Điều này cho phép dễ dàng truy cập, khám phá và tải xuống. Bạn cần chấp nhận các điều khoản cấp phép trên thẻ mô hình trước khi truy cập trọng số.
  • Tích hợp Hugging Face transformers: Hãy bắt đầu xây dựng ngay bây giờ! Các mô hình Llama 4 được tích hợp đầy đủ với transformers (phiên bản v4.51.0). Điều này cho phép dễ dàng tải, suy luận và tinh chỉnh bằng cách sử dụng các API quen thuộc, bao gồm hỗ trợ cho các khả năng đa phương thức gốc của chúng và các thư viện hạ nguồn như TRL.
  • Hỗ trợ tự động cho song song tensor và ánh xạ thiết bị tự động trong transformers.
  • Hỗ trợ Suy luận tạo văn bản (TGI): Để triển khai được tối ưu hóa và có thể mở rộng, cả hai mô hình đều được hỗ trợ bởi TGI. Điều này cho phép tạo văn bản thông lượng cao, giúp tích hợp Llama 4 vào các ứng dụng sản xuất dễ dàng hơn.
  • Hỗ trợ lượng tử hóa: Mã cho lượng tử hóa int4 tức thì được cung cấp cho Scout, giảm thiểu suy giảm hiệu suất đồng thời cho phép triển khai trên dấu chân phần cứng nhỏ hơn. Maverick bao gồm trọng số lượng tử hóa FP8 để triển khai hiệu quả trên phần cứng tương thích.
  • Xet Storage: Để cải thiện việc tải lên, tải xuống và hỗ trợ lặp lại nhanh hơn trên các mô hình đã tinh chỉnh của cộng đồng, chúng tôi đã khởi chạy tất cả các mô hình Llama 4 bằng cách sử dụng Xet storage backend. Hệ thống lưu trữ này được thiết kế để tải lên và tải xuống nhanh hơn và với Llama 4, nó đạt được ~25% loại bỏ trùng lặp. Tất cả các mô hình phái sinh (tinh chỉnh, lượng tử hóa, v.v.) sẽ có khả năng loại bỏ trùng lặp cao hơn (~40%), giúp cộng đồng tiết kiệm nhiều thời gian và băng thông hơn.

Độ dài ngữ cảnh và lựa chọn kiến trúc

Các mô hình Llama 4 đã được đào tạo trước với độ dài ngữ cảnh là 256K. Các mô hình Instruct được tinh chỉnh để hỗ trợ độ dài ngữ cảnh lớn hơn nhiều: 1M trong phiên bản 128 chuyên gia lớn (Maverick) và 10M (!) cho phiên bản 16 chuyên gia (Scout).

Mô hình Instruct Độ dài ngữ cảnh
Scout (16E) 10M
Maverick (128E) 1M
Scout (16E) 256K
Maverick (128E) 256K

Những độ dài ngữ cảnh lớn này đi kèm với một vài lựa chọn kiến trúc rất thú vị. Cho đến khi báo cáo kỹ thuật chính thức được công bố, đây là những gì chúng ta biết cho đến nay.

  • Không có lớp RoPE (NoPE)

NoPE (tên dễ thương, +1 điểm lôi cuốn), đã được khám phá từ năm 2022, chỉ từ bỏ các lược đồ mã hóa vị trí truyền thống, chẳng hạn như RoPE, thường được áp dụng nhất trong các mô hình transformers. Trong trường hợp của Llama 4, các lớp NoPE được sử dụng cứ sau 4 lớp. Các lớp này rất quan trọng đối với ngữ cảnh dài, vì chúng sử dụng mặt nạ nhân quả đầy đủ trên ngữ cảnh.

Đối với các lớp RoPE (ba trong số 4), chunked attention được sử dụng.

Meta đề cập đến việc sử dụng xen kẽ các lớp NoPE, cùng với điều chỉnh nhiệt độ (như được giải thích bên dưới), là kiến trúc iRoPE.

  • Chunked attention (trong các lớp RoPE)

Như một cách để giảm yêu cầu về bộ nhớ, Llama 4 sử dụng chunked attention trong các lớp hoạt động với mã hóa vị trí RoPE truyền thống (ba trong số 4 lớp giải mã). Cách tốt nhất để hình dung cách chunked attention hoạt động là thông qua biểu diễn ASCII này được trích xuất từ mã nguồn transformers:

'What'      :  0 ■ ⬚ ⬚ ⬚ ⬚ ⬚
' is'       :  1 ■ ■ ⬚ ⬚ ⬚ ⬚
' ch'       :  2 ■ ■ ■ ⬚ ⬚ ⬚
'unked'     :  3 ⬚ ⬚ ⬚ ■ ⬚ ⬚
' attention':  4 ⬚ ⬚ ⬚ ■ ■ ⬚
'?'         :  5 ⬚ ⬚ ⬚ ■ ■ ■

Sơ đồ này cho thấy mặt nạ chú ý sẽ được sử dụng nếu độ dài chunked attention là 3. Trong trường hợp của Llama 4, độ dài chunked attention là 8192. Điều này có nghĩa là các lớp RoPE chỉ có thể theo dõi ngữ cảnh trong các khối 8K, trong khi các lớp NoPE có quyền truy cập vào toàn bộ ngữ cảnh. Bạn có thể xem nó như một phiên bản hiệu quả hơn về bộ nhớ và tính toán của Sliding Window Attention.

  • Điều chỉnh nhiệt độ chú ý

Các khối chú ý được áp dụng cho các ngữ cảnh dài có một vấn đề: điểm xác suất chú ý mờ dần gần bằng không hơn khi độ dài chuỗi tăng lên. Đây là một hệ quả đã biết của việc áp dụng hàm softmax cho các chuỗi rất dài. Để giải quyết vấn đề này, Llama 4 sử dụng một softmax được chia tỷ lệ, mà mô hình gọi là điều chỉnh nhiệt độ. Điều này được áp dụng trong các lớp NoPE, nhưng không áp dụng trong các lớp RoPE vì chúng tham gia vào các chuỗi con ngắn hơn.

Phương pháp này là một cách để cải thiện khả năng khái quát hóa cho độ dài ngữ cảnh tùy ý và có lẽ là một trong những yếu tố quan trọng để đạt được độ dài ngữ cảnh 10M trong Llama 4 Scout.

  • Chuẩn hóa QK

Llama Scout (phiên bản 16 chuyên gia) sử dụng một chuẩn hóa RMS bổ sung mà không cần tham số có thể học được của các trạng thái Query và Key trong các lớp RoPE, sau khi các nhúng RoPE đã được áp dụng.

  • Xen kẽ MoE

Llama Scout là một MoE đầy đủ bao gồm 16 chuyên gia. Llama Maverick sử dụng 128 chuyên gia, nhưng các lớp MoE và lớp dày đặc luân phiên nhau. Do đó, các chuyên gia được áp dụng trong một nửa số lớp.

  • Đồng chưng cất

Llama Maverick đã được đồng chưng cất từ một mô hình lớn hơn, Llama Behemoth, sử dụng một hàm mất mát mới, có trọng số động cho các logit của học sinh và giáo viên.

  • MetaP

Các mô hình tận dụng MetaP, một phương pháp có khả năng được lấy cảm hứng từ MuP, để điều chỉnh tối ưu các siêu tham số trên các kích thước khác nhau bao gồm ngân sách đào tạo và kích thước mô hình.

Cách sử dụng với Transformers

Bắt đầu với Llama 4 bằng cách sử dụng transformers rất đơn giản. Đảm bảo bạn đã cài đặt transformers v4.51.0 trở lên (pip install -U transformers huggingface_hub[hf_xet]). Dưới đây là một ví dụ nhanh sử dụng mô hình Maverick được điều chỉnh theo hướng dẫn, phản hồi về hai hình ảnh, sử dụng song song tensor để có tốc độ tối đa. Bạn cần chạy tập lệnh này trên một phiên bản có 8 GPU, sử dụng một lệnh như: torchrun –nproc-per-instance=8 script.py

from transformers import AutoProcessor, Llama4ForConditionalGeneration
import torch

model_id = "meta-llama/Llama-4-Maverick-17B-128E-Instruct"

processor = AutoProcessor.from_pretrained(model_id)
model = Llama4ForConditionalGeneration.from_pretrained(
    model_id,
    attn_implementation="flex_attention",
    device_map="auto",
    torch_dtype=torch.bfloat16,
)

url1 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/0052a70beed5bf71b92610a43a52df6d286cd5f3/diffusers/rabbit.jpg"
url2 = "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/datasets/cat_style_layout.png"
messages = [
    {
        "role": "user",
        "content": [
            {"type": "image", "url": url1},
            {"type": "image", "url": url2},
            {"type": "text", "text": "Can you describe how these two images are similar, and how they differ?"},
        ]
    },
]

inputs = processor.apply_chat_template(
    messages,
    add_generation_prompt=True,
    tokenize=True,
    return_dict=True,
    return_tensors="pt",
).to(model.device)

outputs = model.generate(
    **inputs,
    max_new_tokens=256,
)

response = processor.batch_decode(outputs[:, inputs["input_ids"].shape[-1]:])[0]
print(response)
print(outputs[0])

Hãy nhớ kiểm tra thẻ mô hình trên các repos (Llama 4 Maverick (~400B)Llama 4 Scout (~109B)) để biết hướng dẫn sử dụng chi tiết, bao gồm các ví dụ đa phương thức, các định dạng nhắc nhở cụ thể (như lời nhắc hệ thống), chi tiết lượng tử hóa và các tùy chọn cấu hình nâng cao!

Điểm đánh giá

Kết quả đánh giá xác nhận sức mạnh của các mô hình này, cho thấy hiệu suất hiện đại vượt trội đáng kể so với các phiên bản tiền nhiệm như Llama 3.1 405B. Ví dụ: trên các tác vụ lý luận và kiến thức, Maverick được điều chỉnh theo hướng dẫn đạt 80,5% trên MMLU Pro và 69,8% trên GPQA Diamond, trong khi Scout đạt lần lượt 74,3% và 57,2%.

Mô hình được đào tạo trước

Danh mục Điểm chuẩn # Bắn Đo lường Llama 3.1 70B Llama 3.1 405B Llama 4 Scout Llama 4 Maverick
Lý luận & Kiến thức MMLU 5 macro_avg/acc_char 79.3 85.2 79.6 85.5
MMLU-Pro 5 macro_avg/em 53.8 61.6 58.2 62.9
MATH 4 em_maj1@1 41.6 53.5 50.3 61.2
MBPP 3 pass@1 66.4 74.4 67.8 77.6
Đa ngôn ngữ TydiQA 1 average/f1 29.9 34.3 31.5 31.7
Hình ảnh ChartQA 0 relaxed_accuracy Không hỗ trợ 83.4 85.3
DocVQA 0 anls 89.4 91.6

Mô hình được điều chỉnh theo hướng dẫn

Danh mục Điểm chuẩn # Bắn Đo lường Llama 3.3 70B Llama 3.1 405B Llama 4 Scout Llama 4 Maverick
Lý luận hình ảnh MMMU 0 accuracy Không hỗ trợ 69.4 73.4
MMMU Pro^ 0 accuracy 52.2 59.6
MathVista 0 accuracy 70.7 73.7
Hiểu hình ảnh ChartQA 0 relaxed_accuracy 88.8 90.0
DocVQA (test) 0 anls 94.4 94.4
LiveCodeBench (10/01/2024–02/01/2025) 0 pass@1 33.3 27.7 32.8 43.4
Lý luận & Kiến thức MMLU Pro 0 macro_avg/em 68.9 73.4 74.3 80.5
GPQA Diamond 0 accuracy 50.5 49.0 57.2 69.8
Đa ngôn ngữ MGSM 0 average/em 91.1 91.6 90.6 92.3
Ngữ cảnh dài MTOB (nửa cuốn sách) eng→kgv/kgv→eng - chrF Cửa sổ 128K 42.2/36.6 54.0/46.4
MTOB (toàn bộ cuốn sách) eng→kgv/kgv→eng - chrF 39.7/36.3 50.8/46.7

Lời cảm ơn

Phát hành một thứ khổng lồ như Llama 4 đòi hỏi một nỗ lực to lớn trên các nhóm, địa lý và rất nhiều VM. Theo thứ tự không cụ thể, chúng tôi xin cảm ơn Arthur, Lysandre, Cyril, Pablo, Marc, Mohammed từ nhóm Transformers. Chúng tôi biết ơn toàn bộ nhóm vLLM vì những cuộc thảo luận phong phú, những hiểu biết sâu sắc, thử nghiệm và gỡ lỗi chung trong quá trình tích hợp căng thẳng này với nhiều thách thức. Với nhu cầu tối ưu hóa lớn hơn, chúng tôi xin cảm ơn Mohit vì đã tự mình thêm hỗ trợ cho Llama 4 trong TGI. Các mô hình chonky này yêu cầu một số kỹ thuật nghiêm túc ở cấp độ lưu trữ. Điều này cũng đòi hỏi rất nhiều nỗ lực từ Ajit, Rajat, Jared, Di, Yucheng và phần còn lại của nhóm Xet.

Có rất nhiều người tham gia vào nỗ lực này, xin cảm ơn rất nhiều đến phần còn lại của các nhóm Hugging Face, vLLM và Meta Llama vì sự hợp lực tuyệt vời!

Tài liệu tham khảo

Recommended for You

Bảng xếp hạng tiếng Ả Rập Giới thiệu hướng dẫn bằng tiếng Ả Rập, cập nhật AraGen và hơn thế nữa

Bảng xếp hạng tiếng Ả Rập Giới thiệu hướng dẫn bằng tiếng Ả Rập, cập nhật AraGen và hơn thế nữa

Bài viết này giới thiệu bảng xếp hạng hướng dẫn bằng tiếng Ả Rập, cập nhật AraGen và hơn thế nữa.

Cách Hugging Face mở rộng quy mô quản lý bí mật cho cơ sở hạ tầng AI

Cách Hugging Face mở rộng quy mô quản lý bí mật cho cơ sở hạ tầng AI

Bài viết này mô tả cách Hugging Face mở rộng quy mô quản lý bí mật cho cơ sở hạ tầng AI.