Allen AI (Ai2) vừa giới thiệu OLMo 2 1B, phiên bản nhỏ nhất trong dòng mô hình ngôn ngữ mở OLMo 2. Được tiền huấn luyện trên OLMo-mix-1124 và sử dụng Dolmino-mix-1124 cho giai đoạn huấn luyện trung gian, OLMo 2 là một bước tiến lớn trong lĩnh vực nghiên cứu ngôn ngữ tự nhiên.
Mục lục
Điểm Nổi Bật Của OLMo 2 1B
OLMo 2 1B là một phần của dự án Open Language Models, được thiết kế để hỗ trợ nghiên cứu khoa học về mô hình ngôn ngữ. Tất cả mã nguồn, checkpoint, nhật ký huấn luyện và chi tiết liên quan đều được công khai trên GitHub, giúp cộng đồng dễ dàng tiếp cận và phát triển.
Với 4 nghìn tỷ token huấn luyện, OLMo 2 1B sở hữu 16 lớp, kích thước ẩn 2048 và 16 đầu chú ý, mang lại khả năng xử lý ngôn ngữ hiệu quả trong nhiều tác vụ.
Các Phiên Bản Khác Trong Dòng OLMo 2
- OLMo 2-7B: 32 lớp, kích thước ẩn 4096, 32 đầu chú ý.
- OLMo 2-13B: 40 lớp, kích thước ẩn 5120, 40 đầu chú ý.
- OLMo 2-32B: 64 lớp, kích thước ẩn 5120, 40 đầu chú ý.
Cách Cài Đặt Và Sử Dụng
OLMo 2 1B hỗ trợ thư viện transformers từ phiên bản 4.48 trở lên. Bạn có thể cài đặt bằng lệnh:
pip install transformers>=4.48
Để sử dụng mô hình, bạn cần nhập thư viện AutoModelForCausalLM và AutoTokenizer từ transformers. Ví dụ:
from transformers import AutoModelForCausalLM, AutoTokenizer
olmo = AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-0425-1B")
tokenizer = AutoTokenizer.from_pretrained("allenai/OLMo-2-0425-1B")
message = ["Language modeling is "]
inputs = tokenizer(message, return_tensors='pt', return_token_type_ids=False)
response = olmo.generate(**inputs, max_new_tokens=100, do_sample=True, top_k=50, top_p=0.95)
print(tokenizer.batch_decode(response, skip_special_tokens=True)[0])
Ứng Dụng Và Tối Ưu Hóa
OLMo 2 1B có thể được tối ưu hóa bằng cách lượng tử hóa để tăng tốc độ xử lý. Bạn có thể sử dụng:
AutoModelForCausalLM.from_pretrained("allenai/OLMo-2-0425-1B", torch_dtype=torch.float16, load_in_8bit=True)
Mô hình lượng tử hóa nhạy cảm hơn với kiểu dữ liệu và hoạt động CUDA, vì vậy nên chuyển trực tiếp đầu vào vào CUDA để tránh lỗi.
Đánh Giá Và Kết Quả
OLMo 2 1B đạt được kết quả ấn tượng trong các bài kiểm tra đánh giá. Ví dụ, trên bộ dữ liệu GSM8K, mô hình này đạt điểm số 68.3, cao hơn nhiều so với các mô hình cùng kích thước khác.
Rủi Ro Và Hạn Chế
Giống như các mô hình ngôn ngữ khác, OLMo 2 1B có thể tạo ra nội dung nhạy cảm hoặc không chính xác khi được người dùng yêu cầu. Người dùng cần kiểm tra kỹ lưỡng thông tin trước khi sử dụng.
Liên Hệ Và Tham Khảo
Để biết thêm chi tiết, truy cập trang dự án tại allenai.org/olmo hoặc tham khảo mã nguồn trên GitHub.