안녕하세요,
오늘은 국내 기업 올거나이즈에서 선보인 강력한 한국어 AI 언어 모델인 'Llama 3 Alpha Ko 8B Instruct'를 소개해드리려고 합니다. 이 모델은 메타에서 오픈 소스로 공개한 Llama 3를 개량하여, 한국어의 특성에 맞춰 LLM이 더욱 잘 이해하고 대답하도록 만든 모델입니다. 이번 포스팅에서는 'Llama 3 Alpha Ko 8B Instruct'를 어떻게 사용할 수 있는지에 대해 알아보도록 하겠습니다. 그럼 지금부터 이 모델의 특징과 활용 방법을 자세히 살펴보겠습니다.
올거나이즈 LLM (한국어 특화 AI)
올거나이즈는 한국어 실무에 특화된 대형 언어 모델(LLM)인 '알파-인스트럭트'를 출시했습니다. 이 모델은 메타의 LLaMA 3 기반으로 개발되었으며, 특히 한국어 문서 생성, 요약 및 처리 작업에 최적화되어 있습니다. 고품질의 한국어 데이터를 통해 성능을 향상시켰으며, 오픈소스로 공개되어 다양한 산업에서 활용할 수 있습니다. Hugging Face에서 "Llama 3 Alpha Ko 8B Instruct" 모델을 통해 접근할 수 있으며, 자연어 처리 작업에 적합하게 설계되었습니다.
- 올거나이즈 LLM 관련 기사 : https://www.aitimes.com/news/articleView.html?idxno=160277
올거나이즈 LLM 라이선스
올거나이즈의 'Llama 3 Alpha Ko 8B Instruct' 모델은 메타의 LLaMA 3를 기반으로 개발된 한국어와 영어에 특화된 대형 언어 모델로, META LLAMA 3 커뮤니티 라이선스에 따라 제공되며, 사용자는 이 라이선스를 준수해야 합니다. 이는 사용자가 모델을 사용할 때 Meta가 정한 이용 약관에 동의해야 하며, 모델의 접근과 사용에 일정한 제약이 있음을 의미합니다.
Meta Llama 3 커뮤니티 라이선스는 Meta가 제공하는 Llama 3 모델의 사용, 복제, 배포, 수정 및 파생작업을 허용하는 라이선스로, 사용자는 비독점적, 전 세계적, 로열티 무료로 이를 활용할 수 있습니다. 단, 상업적 사용의 경우, 월 7억 명 이상의 활성 사용자를 보유한 제품이나 서비스는 Meta의 별도 허가가 필요하며, 모델 재배포 시 "Built with Meta Llama 3"라는 문구와 라이선스 포함이 요구됩니다. Meta는 제공하는 모델에 대해 보증하지 않으며, 사용자는 모든 위험과 책임을 감수해야 하고, Meta는 간접적 손해에 대해 책임을 지지 않습니다.
- META LLAMA 3 커뮤니티 라이선스 : https://www.llama.com/llama3/license/
목차
1. 실행 환경
2. 다운로드 모델
3. 실행 코드 (Python)
1. 실행 환경
- 운영체제 : Windows 11
- Python : 3.10.14
- transformers : 4.44.2
- torch : 2.3.1 + cu121
- GPU : NVIDIA GeForce RTX 4060 Ti
2. 다운로드 모델
올거나이즈의 'Llama 3 Alpha Ko 8B Instruct' 모델은 아래 허깅페이스 사이트에서 다운받을 수 있습니다.
해당 페이지에 있는 모든 파일을 다운받습니다.
3. 실행 코드 (Python)
다운로드한 LLM을 실행하기 위한 코드를 작성하였습니다. 해당 코드는 Python 언어로 작성되었습니다.
# Python
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
# 모델 파일 경로 설정
model_id = "Llama-3-Alpha-Ko-8B-Instruct" # 실제 모델 파일 경로
# 토크나이저 및 모델 로드
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype="auto",
device_map="auto",
)
# 메시지 설정 (프롬프트)
messages = [
{"role": "system", "content": "당신은 인공지능 어시스턴트입니다. 묻는 말에 친절하고 정확하게 답변하세요."},
{"role": "user", "content": "피보나치 수열이 뭐야? 그리고 피보나치 수열에 대해 파이썬 코드를 짜줘볼래?"}
]
# 입력 토큰화 및 텐서 변환
input_ids = tokenizer.apply_chat_template(
messages,
add_generation_prompt=True,
return_tensors="pt" # PyTorch 텐서로 반환
).to(model.device)
# 종료 조건 설정
terminators = [
tokenizer.eos_token_id,
tokenizer.convert_tokens_to_ids("<|eot_id|>")
]
# 텍스트 생성
outputs = model.generate(
input_ids,
max_new_tokens=512,
eos_token_id=terminators,
do_sample=False,
repetition_penalty=1.05,
)
# 결과 디코딩 및 출력
response = outputs[0][input_ids.shape[-1]:]
print(tokenizer.decode(response, skip_special_tokens=True))
작성된 코드를 살펴보겠습니다. 이 코드에서는 LLM에게 "인공지능 어시스턴트"라는 역할을 부여하고, 사용자 질문에 친절하고 정확하게 답변하도록 지정하였습니다. 또한, LLM에게 피보나치 수열에 대해 설명하고, 이를 파이썬 코드로 구현해달라는 질문을 하고 있습니다.
코드를 실행하면 모델 파일(가중치 파일)을 RAM으로 로드합니다. 이 과정은 다소 시간이 걸릴 수 있습니다. 로드가 완료되면 LLM은 사용자로부터 질문을 받아 답변을 생성합니다. 실행 결과, LLM이 피보나치 수열을 논리적으로 설명하고, 적절한 파이썬 코드도 생성함을 확인할 수 있습니다.
그러나 위 코드를 사용할 경우, 스크립트를 실행할 때마다 모델 파일을 RAM으로 불러오기 때문에 초기 로딩 시간으로 인한 지연이 발생하는 단점이 있습니다. 이 문제를 해결하기 위해 로컬 서버를 실행하여 모델을 메모리에 상주시킨 채로 서비스를 제공해야 합니다. 이 내용은 다음 포스팅에서 다루도록 하겠습니다.
감사합니다. 😊
'AI 소식 > 오픈소스 AI 모델' 카테고리의 다른 글
[오픈 소스 AI] [로컬 환경] 음성을 복제하여 텍스트를 음성으로 바꿔주는 AI, SWivid TTS(Text to Speech)를 소개합니다. (2) | 2024.10.20 |
---|---|
[오픈 소스 AI] [로컬 환경] OpenAI에서 개발한 음성 인식 AI, Whisper를 소개합니다. (0) | 2024.10.17 |
[이미지 생성 AI] 무료 이미지 생성 AI, FLUX.1 에 대해 소개합니다. (2) | 2024.09.16 |
[오픈 소스 AI] [로컬 환경] GPT-4o에 필적하는 메타의 새로운 AI 모델, Llama 3.1을 소개합니다. (7) | 2024.09.05 |
[3D 모델 생성] [로컬 환경] 이미지를 3D 모델로 생성해주는 AI, Stable Fast 3D (SF3D)를 소개합니다. (2) | 2024.08.23 |