이 저장소에는 동남아시아를위한 강력하고 포괄적 인 오픈 언어 모델 인 Sailor2의 코드가 포함되어 있습니다.
Sailor2는 SEA AI Lab, SCB10X, Wisesight, Huggingface 및 Sailor2 커뮤니티와 제휴하는 공동 프로젝트입니다.

로고는 Midjourney에 의해 생성되었습니다
Sailor2는 커뮤니티 중심의 이니셔티브로, 최첨단 다국어 언어 모델을 동남아시아 (SEA)에 가져옵니다. 우리의 연구는 투기 디코딩 및 연구 목적과 같은 전문 애플리케이션을위한 1B 모델 과 함께 생산 사용을위한 8B 및 20B 매개 변수 범위의 모델에 대한 강력한 수요를 강조합니다. Apache 2.0 라이센스 에 따라 출시 된이 모델은이 지역의 고급 언어 기술에 대한 향상된 접근성을 제공합니다.
Sailor2는 멋진 다국어 모델 Qwen 2.5의 기초를 바탕으로 500B 토큰 으로 지속적으로 미리 훈련되어 통합 모델로 15 개의 언어를 더 잘 지원합니다. 이 언어에는 영어, 중국어, 버마인, 세부 노아, 일로 카노, 인도네시아어, 자바, 크메르, 라오, 말레이어, 선다스, 타갈로그, 태국, 베트남어 및 와이가 포함됩니다. Sailor2는 다양하고 강력하며 접근 가능한 언어 모델에 대한 수요가 증가함에 따라 개방적이고 포괄적이며 접근 가능한 다국어 LLM을 갖춘 해상 지역에 소외된 사람들에게 서비스를 제공하려고합니다.
자세한 내용은 Sailor2 홈페이지를 참조하십시오.
우리는 모든 코드의 릴리스를 준비하기 위해 열심히 노력하고 있으며 계속 지켜봐 주시기 바랍니다!
Sailor2 코드는 최신 포옹 페이스 트랜스포머에 있었으며 transformers==4.46.3 설치하는 것이 좋습니다.
여기에는 토큰 화기 및 모델을로드하는 방법과 내용을 생성하는 방법을 보여주는 코드 스 니펫을 제공합니다.
import torch
from transformers import AutoModelForCausalLM , AutoTokenizer
device = "cuda"
model = AutoModelForCausalLM . from_pretrained (
'sail/Sailor2-20B-Chat' ,
torch_dtype = torch . bfloat16 ,
device_map = "auto"
)
tokenizer = AutoTokenizer . from_pretrained ( 'sail/Sailor2-20B-Chat' )
system_prompt =
'You are an AI assistant named Sailor2, created by Sea AI Lab.
As an AI assistant, you can answer questions in English, Chinese, and Southeast Asian languages
such as Burmese, Cebuano, Ilocano, Indonesian, Javanese, Khmer, Lao, Malay, Sundanese, Tagalog, Thai, Vietnamese, and Waray.
Your responses should be friendly, unbiased, informative, detailed, and faithful.'
prompt = "Beri saya pengenalan singkat tentang model bahasa besar."
# prompt = "Hãy cho tôi một giới thiệu ngắn gọn về mô hình ngôn ngữ lớn."
# prompt = "ให้ฉันแนะนำสั้น ๆ เกี่ยวกับโมเดลภาษาขนาดใหญ่"
messages = [
{ "role" : "system" , "content" : system_prompt },
{ "role" : "user" , "content" : prompt }
]
text = tokenizer . apply_chat_template (
messages ,
tokenize = False ,
add_generation_prompt = True
)
model_inputs = tokenizer ([ text ], return_tensors = "pt" ). to ( device )
input_ids = model_inputs . input_ids . to ( device )
generated_ids = model . generate (
input_ids ,
max_new_tokens = 512 ,
)
generated_ids = [
output_ids [ len ( input_ids ):] for input_ids , output_ids in zip ( model_inputs . input_ids , generated_ids )
]
response = tokenizer . batch_decode ( generated_ids , skip_special_tokens = True )[ 0 ]
print ( response )Sailor2는 Apache 라이센스 2.0의 조건에 따라 배포됩니다. 연구와 상업적 사용에 대한 제한은 없습니다.
Sailor2가 유용하다고 생각되면 다음과 같이 우리의 작업을 인용하십시오.
@misc{sailor2report,
title={Sailor2: Sailing in South-East Asia with Inclusive Multilingual LLM},
author={{Sailor2 Team}},
year={2024}
}
궁금한 점이 있으면 문제를 제기하거나 [email protected] 또는 [email protected]으로 문의하십시오.