Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhất - KDnuggets

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhất – KDnuggets

Nút nguồn: 3084992

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhất
Photo by Google DeepMind
 

Năm 2023 là năm của Mô hình ngôn ngữ lớn và Nguồn mở. Nhiều công ty khởi nghiệp và công ty đã mở nguồn mô hình và trọng số của họ để chống lại các LLM độc quyền như ChatGPT và Claude. Một số công ty và mô hình quan trọng (nguồn mở) cho năm 2023 là:

  • Meta (LLama, LLamav2)
  • TII (Falcon 7B, 40B, 180B)
  • Mistral (Mistral 7B, Mixtral8x7B)

Tuy nhiên, mô hình 7B tương đối dễ triển khai và rẻ hơn sẽ không ngang bằng với các mô hình lớn hơn như 70B. Đối thủ nguồn mở mạnh nhất là Mistral 7B, sẽ hoạt động tốt hơn nhiều mẫu lớn hơn.

 

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhất
So sánh Mistral-7B từ Mistral.ai
 

Tuy nhiên, những mô hình nhỏ này vẫn không đáp ứng tốt với các yêu cầu tự nhiên và đòi hỏi kỹ thuật nhanh chóng. 

Zephyr 7B là mô hình được tạo bởi nhóm HuggingFace H4 (Hữu ích, Trung thực, Vô hại, Huggy) với mục tiêu chính là tạo ra một mô hình ngôn ngữ nhỏ hơn, phù hợp với mục đích của người dùng và vượt trội hơn cả những mô hình lớn hơn.

Zephyr là phiên bản liên kết của Mistral-7B chủ yếu được tạo ra với sức mạnh của Chưng cất và có thể so sánh với các mẫu 70B về tiêu chuẩn học thuật và đàm thoại.

 

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhấtSo sánh hiệu suất của Zephyr-7B | Nguồn: Giấy Zephyr

Các tính năng chính

Nguyên nhân đằng sau thành tích vượt trội của Zephyr là do 4 kỹ thuật then chốt mà Nhóm H4 đã sử dụng.

  1. Tự tạo dữ liệu hướng dẫn & DSFT (Tinh chỉnh được giám sát chặt chẽ)
  2. Bộ sưu tập phản hồi
  3. DDPO (Tối ưu hóa tùy chọn trực tiếp được chưng cất) của mô hình DSFT

Tự hướng dẫn tạo dữ liệu & DSFT

Theo truyền thống Tinh chỉnh có giám sát (SFT) được thực hiện trên Mô hình ngôn ngữ lớn thông qua cặp hoàn thành hướng dẫn chất lượng cao. Việc xây dựng dữ liệu này rất tốn kém và cần có sự giám sát của con người (Chung và cộng sự, 2022; Sanh và cộng sự, 2021). 

Một trong những cách tiếp cận thú vị ở đây là sử dụng mô hình Giáo viên (LLM đã được đào tạo) để tạo hướng dẫn và phản hồi. Kỹ thuật chưng cất này lần đầu tiên được sử dụng trên Alpaca (Taori và cộng sự, 2023), chứng minh rằng một mô hình nhỏ có thể hoạt động tốt hơn các mô hình lớn hơn với Tinh chỉnh được giám sát chưng cất.

 

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhất
Quy trình tự hướng dẫn | Nguồn: Giấy tự hướng dẫn
 

Nhóm H4 đã sử dụng Zephyr để xây dựng các bộ dữ liệu (hướng dẫn, hoàn thành) được giám sát chất lượng cao được sử dụng để thực hiện DSFT. (Đào tạo một mô hình về hướng dẫn/phần hoàn thành được tạo là một hình thức chắt lọc được gọi là DSFT: Tinh chỉnh được giám sát chưng cất).

Bộ sưu tập phản hồi

Các mô hình ngôn ngữ lớn thường được căn chỉnh với sự trợ giúp của Học tăng cường từ phản hồi của con người (RLHF). Thay vào đó, Zephyr sử dụng Phản hồi từ mô hình giáo viên tốt hơn (chẳng hạn như GPT-4) để điều chỉnh lợi ích của mô hình, theo cách tiếp cận của Ultra Phản hồi. 

 

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhất
Quy trình thi công UltraFeedback | Nguồn: Giấy siêu phản hồi
 

Cách thức hoạt động là mỗi lời nhắc được giám sát từ SFT được chuyển tới 4 mô hình (Claude, LLama, Falcon, v.v.) và mỗi phản hồi trong số 4 phản hồi đối với một lời nhắc duy nhất sẽ được tính điểm với sự trợ giúp của GPT-4. Bây giờ chúng ta có tập dữ liệu gồm Đầu vào (x), mức hoàn thành có điểm cao nhất (yw) và một dấu nhắc ngẫu nhiên được biểu thị là mức hoàn thành có điểm thấp (yl), tức là chúng ta có bộ ba (x, yw, yl).

Tối ưu hóa tùy chọn

Mục tiêu của bước cuối cùng này là tối đa hóa mức độ ưu tiên của mô hình từ yw(hoàn thành có điểm cao nhất) so với yl (hoàn thành có điểm thấp). Việc này được thực hiện bằng cách sử dụng DPO (Tối ưu hóa tùy chọn trực tiếp). Sử dụng DPO đơn giản hơn so với sử dụng RLHF đơn giản và về mặt trực quan, nó hoạt động tốt hơn RLHF. Cách tiếp cận trong trường hợp này được gọi là dDPO bởi vì nó sử dụng tập dữ liệu chắt lọc được tạo ra với sự trợ giúp của mô hình giáo viên.

 

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhấtDPO vs RLHF | Nguồn: Giấy Zephyr
 

Thuật toán tổng thể trông giống như thế này:

 

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhất
 

Và có thể dịch thành các bước sau:

  1. Tính xác suất cho (x, yw) và (x, yl) từ mô hình dSFT (chỉ chuyển tiếp).
  2. Tính xác suất của (x, yw) và (x, yl) từ mô hình dDPO.
  3. Tính phương trình 1 và truyền ngược để cập nhật. Lặp lại

Mô hình cơ sở mà Zephyr sử dụng là Mistral-7B, đây là mã nguồn mở tiên tiến nhất tại thời điểm phát hành. Họ đã sử dụng TRL thư viện để tinh chỉnh và căn chỉnh. Deep-Speed ​​Zero 3 và Flash-Attention 2 được sử dụng để tối ưu hóa và tăng tốc quá trình đào tạo cũng như tận dụng tối đa GPU. Các mô hình được huấn luyện bằng cách sử dụng trình tối ưu hóa AdamW và không sử dụng phương pháp giảm trọng lượng. Tất cả các thử nghiệm đều được chạy trên 16 chiếc A100 sử dụng độ chính xác bfloat16 và thường mất 2–4 giờ để hoàn thành. Bạn có thể tham khảo các bản gốc để biết thông tin chi tiết chuyên sâu về Quy trình đào tạo của Zephyr.

Nhóm Zephyr kết hợp các kỹ thuật tốt nhất để đào tạo Mô hình ngôn ngữ lớn và nó phù hợp với hiệu suất của các mô hình 40B chỉ với các tham số 7B và phù hợp với 70B cho các mô hình trò chuyện.

 

Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhấtSo sánh Zephyr với các LLM khác | Nguồn: Giấy Zephyr
Khám phá Zephyr 7B: Hướng dẫn toàn diện về Mô hình ngôn ngữ lớn mới nhấtSo sánh Zephyr với các LLM khác | Nguồn: Giấy Zephyr

Các mô hình Zephyr được cung cấp công khai trên Ôm mặt và có thể được sử dụng tương tự như bất kỳ Mô hình ngôn ngữ nào khác.

import torch
from transformers import pipeline

pipe = pipeline("text-generation",
                model="HuggingFaceH4/zephyr-7b-alpha",  # can also use the beta model
                torch_dtype=torch.bfloat16,
                device_map="auto")

# We use the tokenizer's chat template to format each message - see https://huggingface.co/docs/transformers/main/en/chat_templating
messages = [
   {
       "role": "system",
       "content": "You are a friendly chatbot who always responds in the style of a pirate",
   },
   {"role": "user", "content": "How many helicopters can a human eat in one sitting?"},
]
prompt = pipe.tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=256, do_sample=True, temperature=0.7, top_k=50, top_p=0.95)
print(outputs[0]["generated_text"])

Đầu ra:

|system|>
You are a friendly chatbot who always responds in the style of a pirate.
|user|>
How many helicopters can a human eat in one sitting?
|assistant|>
Ah, me hearty matey! But yer question be a puzzler! A human cannot eat a helicopter in one sitting, as helicopters are not edible. They be made of metal, plastic, and other materials, not food!

Zephyr-7B là một mẫu nhỏ thể hiện sức mạnh của quá trình chưng cất từ ​​LLM sang mẫu nhỏ hơn. Mô hình kết quả ZEPHYR-7B, dựa trên MISTRAL-7B, thiết lập một công nghệ tiên tiến mới cho các mô hình trò chuyện tham số 7B và thậm chí còn hoạt động tốt hơn LLAMA2-CHAT-70B trên MT-Bench.

dự án

  1. Zephyr: Chưng cất trực tiếp việc căn chỉnh LM (https://arxiv.org/abs/2310.16944)
  2. Blog HuggingFace Zephyr (https://huggingface.co/blog/Isamu136/understanding-zephyr)  
  3. Tự hướng dẫn: https://arxiv.org/abs/2212.10560
  4. Siêu phản hồi: https://arxiv.org/abs/2310.01377

 
 

Ahmad Anis là một kỹ sư và nhà nghiên cứu máy học đam mê hiện đang làm việc tại redbuffer.ai. Ngoài công việc hàng ngày của mình, Ahmad còn tích cực tham gia vào cộng đồng máy học. Ông giữ vai trò lãnh đạo khu vực cho Cohere for AI, một tổ chức phi lợi nhuận chuyên về khoa học mở và là người xây dựng cộng đồng AWS. Ahmad là người đóng góp tích cực tại Stackoverflow, nơi anh có hơn 2300 điểm. Anh đã đóng góp cho nhiều dự án mã nguồn mở nổi tiếng, trong đó có Shap-E by OpenAI.

Dấu thời gian:

Thêm từ Xe đẩy