Trí tuệ nhân tạo
Llama 2: Một Cuộc Khám Phá Sâu Về Người Thách Đố Mở Nguồn Của ChatGPT

Large Language Models (LLMs) có khả năng thực hiện các nhiệm vụ lập luận phức tạp đã thể hiện tiềm năng trong các lĩnh vực chuyên biệt như lập trình và viết sáng tạo. Tuy nhiên, thế giới của LLMs không chỉ là một thiên đường plug-and-play; có những thách thức về khả năng sử dụng, an toàn và nhu cầu tính toán. Trong bài viết này, chúng tôi sẽ khám phá sâu về khả năng của Llama 2, đồng thời cung cấp một hướng dẫn chi tiết để thiết lập mô hình LLM này thông qua Hugging Face và T4 GPUs trên Google Colab.
Được phát triển bởi Meta với sự hợp tác của Microsoft, mô hình ngôn ngữ lớn mở này nhằm mục đích định nghĩa lại các lĩnh vực của trí tuệ nhân tạo tạo sinh và hiểu ngôn ngữ tự nhiên. Llama 2 không chỉ là một mô hình thống kê được đào tạo trên terabyte dữ liệu; nó là hiện thân của một triết lý. Một triết lý nhấn mạnh cách tiếp cận mã nguồn mở như xương sống của phát triển AI, đặc biệt là trong không gian trí tuệ nhân tạo tạo sinh.
Llama 2 và phiên bản tối ưu hóa hội thoại của nó, Llama 2-Chat, được trang bị lên đến 70 tỷ tham số. Chúng trải qua quá trình tinh chỉnh được thiết kế để căn chỉnh chúng chặt chẽ với sở thích của con người, khiến chúng trở nên an toàn và hiệu quả hơn so với nhiều mô hình công khai khác. Mức độ tinh chỉnh này thường được dành cho các mô hình LLM “sản phẩm” đóng, như ChatGPT và BARD, không thường có sẵn cho công chúng kiểm tra hoặc tùy chỉnh.
Khám Phá Kỹ Thuật Sâu Về Llama 2
Để đào tạo mô hình Llama 2; giống như các phiên bản trước, nó sử dụng kiến trúc transformer tự hồi quy transformer, được tiền đào tạo trên một tập dữ liệu tự giám sát rộng lớn. Tuy nhiên, nó thêm một lớp tinh vi bằng cách sử dụng Học tăng cường với Phản hồi của Con người (RLHF) để căn chỉnh tốt hơn với hành vi và sở thích của con người. Điều này tốn kém về mặt tính toán nhưng quan trọng để cải thiện an toàn và hiệu quả của mô hình.
Đào tạo tiền và Hiệu suất Dữ liệu
Đổi mới cơ bản của Llama 2 nằm ở chế độ đào tạo tiền. Mô hình này lấy tín hiệu từ người tiền nhiệm của nó, Llama 1, nhưng giới thiệu một số cải tiến quan trọng để nâng cao hiệu suất. Đặc biệt, tăng 40% tổng số token được đào tạo và mở rộng gấp đôi chiều dài ngữ cảnh nổi bật. Hơn nữa, mô hình này tận dụng sự chú ý của nhóm truy vấn (GQA) để tăng khả năng mở rộng suy luận.
Tinh chỉnh Giám sát (SFT) & Học tăng cường với Phản hồi của Con người (RLHF)
Llama-2-chat đã được tinh chỉnh kỹ lưỡng bằng cách sử dụng cả SFT và Học tăng cường với Phản hồi của Con người (RLHF). Trong bối cảnh này, SFT đóng vai trò là một thành phần quan trọng của khuôn khổ RLHF, tinh chỉnh phản hồi của mô hình để căn chỉnh chặt chẽ với sở thích và kỳ vọng của con người.
OpenAI đã cung cấp một minh họa sâu sắc giải thích các phương pháp SFT và RLHF được sử dụng trong InstructGPT. Giống như LLaMa 2, InstructGPT cũng tận dụng các kỹ thuật đào tạo tiên tiến này để tối ưu hóa hiệu suất của mô hình.
Bước 1 trong hình ảnh dưới đây tập trung vào Tinh chỉnh Giám sát (SFT), trong khi các bước tiếp theo hoàn thành quá trình Học tăng cường từ Phản hồi của Con người (RLHF).
Tinh chỉnh Giám sát (SFT) là một quá trình chuyên dụng nhằm tối ưu hóa một mô hình ngôn ngữ lớn được đào tạo trước cho một nhiệm vụ cụ thể. Không giống như các phương pháp không giám sát, không yêu cầu xác thực dữ liệu, SFT sử dụng một tập dữ liệu đã được xác thực và gắn nhãn trước.
Thông thường, việc tạo ra các tập dữ liệu này tốn kém và mất thời gian. Cách tiếp cận của Llama 2 là chất lượng hơn số lượng. Với chỉ 27.540 chú thích, đội ngũ của Meta đã đạt được mức hiệu suất cạnh tranh với người chú thích. Điều này phù hợp với các nghiên cứu gần đây cho thấy rằng thậm chí các tập dữ liệu hạn chế nhưng sạch sẽ có thể thúc đẩy kết quả chất lượng cao.
Trong quá trình SFT, mô hình ngôn ngữ lớn được đào tạo trước được tiếp xúc với một tập dữ liệu đã được gắn nhãn, nơi các thuật toán học giám sát phát huy tác dụng. Các trọng số nội bộ của mô hình được tái căn chỉnh dựa trên các gradient được tính toán từ một hàm mất mát cụ thể cho nhiệm vụ. Hàm mất mát này lượng hóa sự khác biệt giữa đầu ra dự đoán của mô hình và nhãn thực tế.
Quá trình tinh chỉnh này cho phép mô hình ngôn ngữ lớn nắm bắt các mẫu và sắc thái tinh vi được nhúng trong tập dữ liệu đã được gắn nhãn. Do đó, mô hình không chỉ là một công cụ tổng quát mà còn trở thành một tài sản chuyên dụng, có khả năng thực hiện nhiệm vụ mục tiêu với độ chính xác cao.
Học tăng cường là bước tiếp theo, nhằm căn chỉnh hành vi của mô hình với sở thích của con người một cách chặt chẽ hơn.
Giai đoạn tinh chỉnh này tận dụng Học tăng cường từ Phản hồi của Con người (RLHF), sử dụng các kỹ thuật như Lấy mẫu quan trọng và Tối ưu hóa chính sách gần để giới thiệu nhiễu thuật toán, từ đó tránh các cực trị địa phương. Quá trình tinh chỉnh lặp lại này không chỉ cải thiện mô hình mà còn căn chỉnh đầu ra của nó với kỳ vọng của con người.
Llama 2-Chat sử dụng một giao thức so sánh nhị phân để thu thập dữ liệu sở thích của con người, đánh dấu một xu hướng đáng chú ý hướng tới các phương pháp định lượng hơn. Cơ chế này thông báo cho các Mô hình Phần thưởng, sau đó được sử dụng để tinh chỉnh mô hình hội thoại AI.
Chú ý Ma (Ghost Attention): Hội thoại Đa Lượt
Meta đã giới thiệu một tính năng mới, Chú ý Ma (GAtt), được thiết kế để nâng cao hiệu suất của Llama 2 trong các hội thoại đa lượt. Điều này hiệu quả giải quyết vấn đề mất ngữ cảnh trong các cuộc hội thoại đang diễn ra. GAtt hoạt động như một neo, liên kết các hướng dẫn ban đầu với tất cả các tin nhắn người dùng sau. Kết hợp với các kỹ thuật học tăng cường, nó giúp tạo ra các phản hồi nhất quán, phù hợp và căn chỉnh với người dùng trong các hội thoại dài hơn.
Từ Kho Lưu trữ Meta Sử dụng download.sh
- Truy cập Trang Web Meta: Điều hướng đến Trang web chính thức Llama 2 của Meta và nhấp vào ‘Tải Mô hình’
- Điền Thông Tin: Đọc và chấp nhận các điều khoản và điều kiện để tiếp tục.
- Xác nhận Email: Một khi biểu mẫu được gửi, bạn sẽ nhận được một email từ Meta với một liên kết để tải mô hình từ kho lưu trữ của họ.
- Thực thi download.sh: Sao chép kho lưu trữ Git và thực thi kịch bản
download.sh. Kịch bản này sẽ yêu cầu bạn xác thực bằng cách sử dụng một URL từ Meta có thời hạn trong 24 giờ. Bạn cũng sẽ chọn kích thước mô hình—7B, 13B hoặc 70B.
Từ Hugging Face
- Nhận Email Chấp thuận: Sau khi được cấp quyền truy cập từ Meta, hãy truy cập Hugging Face.
- Yêu cầu Truy cập: Chọn mô hình mong muốn và gửi yêu cầu để được cấp quyền truy cập.
- Xác nhận: Mong đợi một email ‘đã cấp quyền truy cập’ trong vòng 1-2 ngày.
- Generates Tokens Truy cập: Điều hướng đến ‘Cài đặt’ trong tài khoản Hugging Face của bạn để tạo tokens truy cập.
Phiên bản 4.31 của Transformers tương thích hoàn toàn với LLaMa 2 và mở ra nhiều công cụ và tính năng trong hệ sinh thái Hugging Face. Từ các kịch bản đào tạo và suy luận đến lượng tử hóa 4-bit với bitsandbytes và Tinh chỉnh Hiệu quả về Parameter (PEFT), bộ công cụ này rất rộng lớn. Để bắt đầu, hãy đảm bảo bạn đang sử dụng phiên bản Transformers mới nhất và đã đăng nhập vào tài khoản Hugging Face của mình.
Dưới đây là hướng dẫn đơn giản để chạy suy luận mô hình LLaMa 2 trong môi trường Google Colab, tận dụng thời gian chạy GPU:
Cài đặt Gói
!pip install transformers !huggingface-cli login
Nhập các thư viện Python cần thiết.
from transformers import AutoTokenizer import transformers import torch
Khởi tạo Mô hình và Bộ mã hóa
Trong bước này, hãy chỉ định mô hình Llama 2 mà bạn sẽ sử dụng. Đối với hướng dẫn này, chúng tôi sử dụng meta-llama/Llama-2-7b-chat-hf.
model = "meta-llama/Llama-2-7b-chat-hf" tokenizer = AutoTokenizer.from_pretrained(model)
Thiết lập Đường ống
Sử dụng đường ống Hugging Face cho việc tạo văn bản với các cài đặt cụ thể:
pipeline = transformers.pipeline( "text-generation", model=model, torch_dtype=torch.float16, device_map="auto")
Tạo Dãy Văn bản
Cuối cùng, hãy chạy đường ống và tạo một dãy văn bản dựa trên đầu vào của bạn:
sequences = pipeline(
'Ai là những người đóng góp chính cho lĩnh vực trí tuệ nhân tạo?\n',
do_sample=True,
top_k=10,
num_return_sequences=1,
eos_token_id=tokenizer.eos_token_id,
max_length=200)
for seq in sequences:
print(f"Kết quả: {seq['generated_text']}")
Giao diện Người dùng của A16Z cho LLaMa 2
Andreessen Horowitz (A16Z) đã ra mắt một giao diện người dùng dựa trên Streamlit tiên tiến cho Llama 2. Được lưu trữ trên GitHub, giao diện này bảo tồn lịch sử trò chuyện và cũng cung cấp tính linh hoạt để chọn từ nhiều điểm cuối API Llama 2 được lưu trữ trên Replicate. Thiết kế tập trung vào người dùng này nhằm đơn giản hóa các tương tác với Llama 2, khiến nó trở thành một công cụ lý tưởng cho cả nhà phát triển và người dùng cuối. Đối với những người quan tâm đến việc trải nghiệm này, một bản demo trực tiếp có sẵn tại Llama2.ai.
Llama 2: Điều gì làm cho nó khác biệt so với Mô hình GPT và người tiền nhiệm Llama 1?
Đa dạng về Quy mô
Không giống như nhiều mô hình ngôn ngữ chỉ cung cấp khả năng mở rộng hạn chế, Llama 2 cung cấp cho bạn một loạt các tùy chọn cho các mô hình với số tham số khác nhau. Mô hình này có thể mở rộng từ 7 tỷ đến 70 tỷ tham số, do đó cung cấp một loạt các cấu hình để đáp ứng nhu cầu tính toán đa dạng.
Chiều dài Ngữ cảnh được Cải thiện
Mô hình này có chiều dài ngữ cảnh tăng lên 4K token so với Llama 1. Điều này cho phép nó giữ lại nhiều thông tin hơn, do đó tăng cường khả năng hiểu và tạo ra nội dung phức tạp và rộng lớn hơn.
Chú ý Nhóm Truy vấn (GQA)
Kiến trúc sử dụng khái niệm GQA, được thiết kế để tăng tốc quá trình tính toán chú ý bằng cách lưu trữ các cặp token trước. Điều này hiệu quả cải thiện khả năng mở rộng suy luận của mô hình để tăng khả năng tiếp cận.
Thử nghiệm Hiệu suất
LLama 2 đã thiết lập một tiêu chuẩn mới trong các chỉ số hiệu suất. Nó không chỉ vượt trội so với người tiền nhiệm của mình, LLama 1, mà còn cung cấp sự cạnh tranh đáng kể cho các mô hình khác như Falcon và GPT-3.5.
Mô hình Llama 2-Chat lớn nhất, 70B, cũng vượt trội so với ChatGPT trong 36% trường hợp và khớp hiệu suất trong 31,5% trường hợp còn lại. Nguồn: Bài viết
Mã Nguồn Mở: Sức mạnh của Cộng đồng
Meta và Microsoft nhằm mục đích biến Llama 2 trở thành hơn một sản phẩm; họ hình dung nó như một công cụ được thúc đẩy bởi cộng đồng. Llama 2 miễn phí để truy cập cho cả mục đích nghiên cứu và phi thương mại. Họ nhằm mục đích dân chủ hóa khả năng AI, làm cho nó có thể tiếp cận được với các công ty khởi nghiệp, nhà nghiên cứu và doanh nghiệp. Một mô hình mã nguồn mở cho phép ‘điều tra sự cố cộng đồng’ của mô hình. Các nhà phát triển và nhà伦 lý AI có thể kiểm tra, xác định các điểm yếu và cung cấp giải pháp với tốc độ nhanh hơn.
Mặc dù các điều khoản cấp phép cho LLaMa 2 nói chung là khá cởi mở, các trường hợp ngoại lệ vẫn tồn tại. Các doanh nghiệp lớn với hơn 700 triệu người dùng mỗi tháng, như Google, yêu cầu sự ủy quyền rõ ràng từ Meta để sử dụng. Ngoài ra, giấy phép cấm sử dụng LLaMa 2 để cải thiện các mô hình ngôn ngữ khác.
Thử thách Hiện tại với Llama 2
- Tổng quát Hóa Dữ liệu: Cả Llama 2 và GPT-4 đôi khi gặp khó khăn trong việc duy trì hiệu suất cao nhất quán trên các nhiệm vụ đa dạng. Chất lượng và đa dạng hóa dữ liệu cũng quan trọng như khối lượng trong những tình huống này.
- Minh bạch Mô hình: Cho trước những bước lùi trước đây với AI tạo ra đầu ra sai lệch, việc khám phá lý do đằng sau những mô hình phức tạp này là tối quan trọng.
Code Llama – Ra mắt Mới nhất của Meta
Meta gần đây đã công bố Code Llama, một mô hình ngôn ngữ lớn chuyên về lập trình với kích thước tham số từ 7B đến 34B. Giống như Trình giải thích mã ChatGPT; Code Llama có thể tự động hóa luồng làm việc của nhà phát triển và làm cho việc lập trình trở nên dễ tiếp cận hơn. Nó hỗ trợ nhiều ngôn ngữ lập trình và có các biến thể chuyên dụng, như Code Llama–Python cho các nhiệm vụ cụ thể của Python. Mô hình này cũng cung cấp các cấp độ hiệu suất khác nhau để đáp ứng các yêu cầu độ trễ đa dạng. Với giấy phép mở, Code Llama mời cộng đồng đóng góp cho sự cải tiến liên tục.
https://about.fb.com/news/2023/08/code-llama-ai-for-coding/
Kết luận
Bài viết này đã hướng dẫn bạn qua quá trình thiết lập mô hình Llama 2 cho việc tạo văn bản trên Google Colab với sự hỗ trợ của Hugging Face. Hiệu suất của Llama 2 được thúc đẩy bởi một loạt các kỹ thuật tiên tiến từ kiến trúc transformer tự hồi quy đến Học tăng cường với Phản hồi của Con người (RLHF). Với tối đa 70 tỷ tham số và các tính năng như Chú ý Ma, mô hình này vượt trội so với các tiêu chuẩn hiện tại trong một số lĩnh vực, và với bản chất mở của nó, nó mở ra một kỷ nguyên mới trong hiểu ngôn ngữ tự nhiên và trí tuệ nhân tạo tạo sinh.

















