CLOVA
하이퍼스케일 AI로 플랫폼 경쟁력을 강화하고 비즈니스 시너지를 확장합니다.
clova.ai
▲네이버 하이퍼클로바X 오픈소스화 공지
https://huggingface.co/naver-hyperclovax
naver-hyperclovax (HyperCLOVA X)
NAVER's generative AI, HyperCLOVA X, demonstrates exceptional Korean language understanding within the broader societal context. Its scalability and connectivity to the wider AI ecosystem enable the creation of novel user experiences and business opportuni
huggingface.co
▲네이버 하이퍼클로바X 오픈소스모델 사용처
네이버가 어제와 오늘, 자사의 자체 생성형 AI 하이퍼클로바X의 오픈소스화를 공지했다. 정확히 따지자면 기존의 하이퍼클로바X와는 별개의 모델 같다. 3B, 1.5B, 0.5B로 공개했고 SEED라는 이름을 달고 HyperCLOVAX-SEED 라는 이름을 달고 나왔기 때문. 네이버가 서비스하는 기존의 HyperCLOVA X가 이렇게 가벼울 리도 없고, 굳이 SEED라는 이름을 달 이유도 없기에 네이버 내에서 AI 연구팀이 경량화 모델을 만들었는데 수익화하기가 힘드니까 그냥 오픈소스로 공개해버린 것이 아닌가 싶다.
이유가 어찌됐든 국내 최고의 대기업에서 LLM을 오픈소스로 공개해주는 것은 항상 반가운 일이다.
https://tiabet0929.tistory.com/95
[LLM] LG의 LLM EXAONE Deep 사용 후기 및 딥시크 R1, OpenAI o1 과의 비교
오늘(3/18) 아침 LG의 야심작 EXAONE 모델의 새로운 버전이 오픈소스로 공개됐다. https://huggingface.co/LGAI-EXAONE LGAI-EXAONE (LG AI Research)LG AI EXAONE Welcome to the official HuggingFace organization of EXAONE, which refers to t
tiabet0929.tistory.com
그래서 LG의 EXAONE을 리뷰했던 것처럼 네이버의 HyperCLOVAX-SEED 도 직접 사용해보고 후기를 작성해보고자 한다. 사실 나는 HyperCLOVAX도 사용해본 적이 거의 없는데 그 이유가 환각이 너무 심해서였다.
너 RAG 사용하냐는 질문에 사용하지 않는다, 사용한다를 사용자보고 선택하라는 어처구니없는 답변을 들은 적도 있다. 하지만 이번 모델은 오픈소스로 공개한만큼 편견없이 다가가보려고 한다.
※요즘 방문 통계를 보면 LLM 사용법으로 검색해서 들어오시는 분들이 많은데, 기본적으로 최근 공개되는 AI 및 LLM들은 모두 파이썬을 기반으로 작동한다는 점, 따라서 진짜 입문자분들은 우선 파이썬과 아나콘다, 파이참 혹은 VSCode같은 IDE 환경 설치 부분을 먼저 공부하셔야 한다는 점을 말하고 싶다.※
네이버의 생성형 AI, LLM HyperCLOVAX-SEED
이번에 공개한 모델은 총 3가지로, 파라미터 사이즈가 3B, 1.5B, 0.5B로 이루어져 있다. 이는 LLM 중에선 굉장히 작은 모델로 볼 수 있는 아주 초소형 모델이며, 네이버가 공개를 발표하며 말하길 "다른 기업들이 더 강력해지기를 바라며, 소버린 AI 생태계 조성을 위해 HyperCLOVA X SEED를 오픈소스로 공개"한다고 했다. 즉 메마른 한국의 AI 생태계에 씨앗(SEED)을 심겠다는 의미. 저번 포스팅에선 LG가 딥시크와 OpenAI를 저격하면서 모델을 내서 직접 비교를 해봤지만, 이번 네이버는 "한국어 잘하는 오픈소스 모델 공개"에 초점을 더 두고 있으니 포스팅 목적도 한국어 능력 검증에 초점을 맞추고, 세 모델을 모두 사용해보았다. 세 모델 모두 Instruct
HyperCLOBAX-SEED 0.5B
하이퍼클로바X(풀네임이 너무 길어서 중략해서 적음) 0.5B 모델은 4K의 Context Length를 갖고 있다.
[LLM] ChatGPT는 이제 모든 대화를 기억할 수 있다. 메모리 최신업데이트에 대한 탐구 (+Context Length, R
ChatGPT를 사용하다가 메모리가 업데이트된다는 알림을 다들 받아봤을 것이다.업데이트된 메모리를 설정칸에서 확인해보면 아래와 같이 뜬다. 이렇게 ChatGPT를 사용하다 보면 사용자에 대한 정보
tiabet0929.tistory.com
QWEN2.5의 0.5B 모델이 128K의 Context Length를 갖는다는 점을 감안하면 아쉽게 느껴질 수 있는 길이이다.
네이버는 0.5B 모델이 멀티턴으로 한국어 대화를 주고받을 수 있다고 말한다. 그러면 1. 한국어 능력 검증 및 환각 현상 체크 2. 멀티턴 능력 체크 이 두 가지를 목표로 사용해보면 될 것 같다.
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
device = "cuda" if torch.cuda.is_available() else "cpu"
model = AutoModelForCausalLM.from_pretrained(
"naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-0.5B"
).to(device)
tokenizer = AutoTokenizer.from_pretrained("naver-hyperclovax/HyperCLOVAX-SEED-Text-Instruct-0.5B")
chat = [
{"role": "tool_list", "content": ""},
{"role": "system", "content": "- AI 언어모델의 이름은 \"CLOVA X\" 이며 네이버에서 만들었다.\n- 오늘은 2025년 04월 24일(목)이다."},
{"role": "user", "content": "슈뢰딩거 방정식과 양자역학의 관계를 최대한 자세히 알려줘."},
]
inputs = tokenizer.apply_chat_template(chat, add_generation_prompt=True, return_dict=True, return_tensors="pt")
inputs = {k: v.to(device) for k, v in inputs.items()}
# stop_strings 제거하고 generate 실행
output_ids = model.generate(**inputs, max_length=1024, stop_strings=["<|endofturn|>", "<|stop|>"], tokenizer=tokenizer)
# 디코딩 및 답변만 추출
decoded = tokenizer.batch_decode(output_ids, skip_special_tokens=False)[0]
# <|assistant|> 이후 텍스트만 가져오기
if "<|assistant|>" in decoded:
answer = decoded.split("<|assistant|>")[-1].strip()
else:
answer = decoded.strip()
# 종료 문자열로 잘라내기
for stop_str in ["<|endofturn|>", "<|stop|>"]:
if stop_str in answer:
answer = answer.split(stop_str)[0].strip()
print(answer)
허깅페이스에 예제 코드를 수정해서 gpu를 사용하도록 하고, 대충 후처리를 해주는 코드를 추가했다. 이 코드는 이하 사용할 모델 및 프롬프트에도 다 동일하므로 아래부턴 생략하도록 하겠다.
슈뢰딩거 방정식은 양자역학의 기본 방정식 중 하나로, 입자의 에너지와 위치를 동시에 정확하게 예측할 수 없게 하는 양자역학의 핵심 원리를 설명합니다. 이 방정식은 다음과 같은 형태로 표현됩니다.
$$\frac{\partial^2 \psi}{\partial t^2} = \hat{H} \psi$$
여기서 $\psi$는 입자의 파동함수이고, $\hat{H}$는 입자의 운동에너지와 스핀운동에너지를 나타내는 양자화 에너지입니다. 이 방정식은 입자의 시간적 변화를 설명하며, 입자의 에너지와 위치 사이의 관계를 나타냅니다.
양자역학에서 중요한 개념 중 하나는 파동함수의 불확정성 원리입니다. 이는 파동함수가 시간적으로나 공간적으로 불확정성을 가지며, 이를 통해 입자의 위치와 운동량을 동시에 정확하게 측정할 수 없다는 것을 의미합니다. 슈뢰딩거 방정식은 이 불확정성 원리를 수학적으로 표현한 것입니다.
양자역학에서 중요한 개념 중 하나는 파동함수의 간섭입니다. 파동함수는 서로 다른 파동들이 겹쳐질 때 간섭 효과를 나타내며, 이는 입자의 위치와 운동량을 동시에 정확하게 측정할 수 없게 하는 불확정성 원리와 관련이 있습니다. 슈뢰딩거 방정식은 이러한 간섭 현상을 수학적으로 표현한 것입니다.
양자역학에서 중요한 개념 중 하나는 입자의 확률적 존재입니다. 슈뢰딩거 방정식은 입자의 확률적 존재를 수학적으로 표현한 것입니다. 이는 입자가 특정 위치나 상태에 존재할 확률을 계산할 수 있게 하며, 이는 양자역학의 기본 원리 중 하나입니다.
슈뢰딩거 방정식은 양자역학의 기본 방정식 중 하나로, 입자의 에너지와 위치를 동시에 정확하게 예측할 수 없게 하는 양자역학의 핵심 원리를 설명합니다. 이 방정식은 입자의 시간적 변화를 설명하며, 입자의 에너지와 위치 사이의 관계를 나타냅니다. 또한, 파동함수의 불확정성 원리와 간섭 현상을 수학적으로 표현한 것입니다. 양자역학에서 중요한 개념 중 하나인 확률적 존재를 수학적으로 표현한 것입니다.<|im_end|>
max_length를 너무 길게 해주어서인지 답변이 굉장히 난잡하지만 어쨌든 한국어로 답변을 잘 생성해줬다. 답변을 ChatGPT에 넣어보니 수식에 오류가 있고 설명이 모호하다고 평가했는데, 애초에 질문이 조금 어렵기도 했고 환각 현상은 없는 것 같으니 넘어가보도록 하자.
이번엔 내가 애용하는 프롬프트를 넣어봤다.
<|im_start|>user
역사상 가장 재미있는 영화 5편 추천해줘<|im_end|>
<|im_start|>assistant
역사상 가장 재미있는 영화 5편을 추천해드리겠습니다.
1. **"인셉션" (Inception, 2010)**: 크리스토퍼 놀란 감독의 이 영화는 꿈과 현실의 경계를 넘나드는 독특한 스토리와 시각 효과로 많은 관객들의 사랑을 받았습니다. 꿈속에서 일어나는 사건들을 통해 인간의 상상력과 창의력을 탐구하는 영화입니다.
2. **"인터스텔라" (Interstellar, 2014)**: 크리스토퍼 놀란 감독의 이 영화는 우주 탐사와 시간 여행을 주제로 한 영화로, 과학적 상상력과 감동적인 스토리로 많은 관객들의 호평을 받았습니다. 인류의 미래를 위해 우주 탐사를 떠나는 이야기를 담고 있습니다.
3. **"매트릭스" (Matrix, 1999)**: 테렌스 맬릭 감독의 이 영화는 현실과 가상 현실의 경계를 넘나드는 독특한 스토리와 시각 효과로 많은 관객들의 사랑을 받았습니다. 주인공이 가상 현실 속에서 자신의 정체성을 찾아가는 과정을 그린 영화입니다.
4. **"해리포터와 마법사의 돌" (Harry Potter and the Philosopher's Stone, 2001)**: J.K. 롤링의 소설을 원작으로 한 이 영화는 마법 세계를 배경으로 한 판타지 영화로, 어린 주인공이 마법 학교에 입학하면서 겪는 모험과 성장을 그린 영화입니다.
5. **"아바타" (Avatar, 2009)**: 제임스 카메론 감독의 이 영화는 외계 행성 판도라를 배경으로 한 SF 영화로, 인간의 외모와 판도라의 생태계를 비교하는 독특한 스토리와 시각 효과로 많은 관객들의 사랑을 받았습니다.
이 영화들은 모두 역사적 배경과 함께 독특한 스토리와 시각 효과로 많은 관객들의 사랑을 받았습니다. 이 중에서 가장 재미있는 영화를 선택하여 감상해보시기 바랍니다.<|im_end|>
오, 이정도면 LG의 Exaone보다 답변 수준이 훨씬 높고 정확하다고 보인다. 중간중간 아주 약간의 환각이 있긴 한데, 답변 전체가 엉터리였던 LG Exaone보다는 훨씬 정확하다.
마지막으로 멀티턴 능력 검증을 해보겠다.
<|im_start|>system
- 당신은 온디바이스 LLM인 'CLOVA X'이며, 사용자와 짧은 대화를 통해 유용한 정보를 제공하는 역할입니다.
- 대화의 흐름을 기억하고, 질문 간의 연관성을 파악해야 합니다.
- 오늘은 2025년 4월 24일입니다.<|im_end|>
<|im_start|>user
지금 냉장고에 계란이랑 양파 밖에 없어.<|im_end|>
<|im_start|>assistant
계란과 양파만 있어도 오믈렛이나 계란말이를 만들 수 있어요. 둘 다 간단한 조리법이에요.<|im_end|>
<|im_start|>user
그럼 오믈렛 만드는 법 알려줘.<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과 후추로 간을 해주세요. 그 다음, 양파를 잘게 썰어서 계란물에 넣고 섞어주세요. 팬에 기름을 두르고, 계란물을 부어주세요. 계란이 익으면 접시에 옮겨 담고, 파슬리나 치즈를 뿌려서 마무리하면 됩니다. 간단하죠?<|im_end|>
<|im_start|>assistant
오믈렛 만드는 법은 간단해요. 먼저 계란을 깨서 볼에 넣고, 소금과
중복된 내용들은 내가 복붙한 게 아니라 진짜 이렇게 생성한거다. 아무래도 EOS_token이 제대로 생성되지 않아서 max_length의 끝까지 가버리는 것 같다. 분명 EOS_token을 명시를 해줬는데 왜 이러는지 모르겠다. 하지만 아무튼 멀티턴 능력이 있다는 건 검증이 되었다.
추가 사항으로, 네이버는 QWEN2.5-0.5B 보다 39배 적은 비용으로 학습되었다고 했는데 이건 Context_length가 32배 차이나서 그런거 같아 큰 의미는 없는 것 같고, 생성되는 데에 시간은 약 1분 정도 소요됐다. 아무튼 한국어를 유창하게 잘 하는 것만으로도 좋게 평가할 여지가 있어보인다.
LlamaForCausalLM(
(model): LlamaModel(
(embed_tokens): Embedding(110592, 1024, padding_idx=100257)
(layers): ModuleList(
(0-23): 24 x LlamaDecoderLayer(
(self_attn): LlamaAttention(
(q_proj): Linear(in_features=1024, out_features=2048, bias=False)
(k_proj): Linear(in_features=1024, out_features=1024, bias=False)
(v_proj): Linear(in_features=1024, out_features=1024, bias=False)
(o_proj): Linear(in_features=2048, out_features=1024, bias=False)
)
(mlp): LlamaMLP(
(gate_proj): Linear(in_features=1024, out_features=4096, bias=False)
(up_proj): Linear(in_features=1024, out_features=4096, bias=False)
(down_proj): Linear(in_features=4096, out_features=1024, bias=False)
(act_fn): SiLU()
)
(input_layernorm): LlamaRMSNorm((1024,), eps=1e-05)
(post_attention_layernorm): LlamaRMSNorm((1024,), eps=1e-05)
)
)
(norm): LlamaRMSNorm((1024,), eps=1e-05)
(rotary_emb): LlamaRotaryEmbedding()
)
(lm_head): Linear(in_features=1024, out_features=110592, bias=False)
)
마지막으로 model 구조를 한 번 찍어보았다. 전체적으로 Llama의 레이어들을 거의 그대로 차용한 것을 알 수 있다. 구조 자체는 Llama 3.1과 흡사한 것 같다.
0.5B 한줄 요약 : 상당히 쓸만하다! 지금까지 써본 국내 한국어 모델 중에 제일 좋은 것 같다고 느껴진다.
HyperCLOBAX-SEED 1.5B
하이퍼클로바X의 1.5B 모델은 네이버의 공식 설명에 따르면 사용자가 더 구체적인 명령을 할 수 있다. 말투 조정, 출력 형식 조정 등이 가능하여 챗봇에 적합하다고 발표했다. 왜인지는 모르겠는데 이 모델은 허깅페이스에서 액세스 허용을 받아야한다. 허깅페이스에 터미널로 로그인해서 똑같은 프롬프트를 돌려봤다. (GPU 사용량 : 대략 8기가, 답변 생성 시간은 0.5B보다 오히려 짧은 30초 정도)
<|im_start|>user
슈뢰딩거 방정식과 양자역학의 관계를 최대한 자세히 알려줘.<|im_end|>
<|im_start|>assistant
슈뢰딩거 방정식은 양자역학에서 가장 중요한 방정식 중 하나로, 다음과 같은 특징을 가지고 있습니다.
1. 확률 밀도 함수: 슈뢰딩거 방정식은 파동함수의 확률 밀도 함수를 구하는 방정식입니다. 확률 밀도 함수는 입자의 위치와 운동량을 확률적으로 나타내는 함수입니다.
2. 시간에 따른 변화: 슈뢰딩거 방정식은 시간에 따라 변화합니다. 슈뢰딩거 방정식을 시간에 대해 미분하면 입자의 운동량을 구할 수 있습니다.
3. 불확정성 원리: 슈뢰딩거 방정식은 불확정성 원리를 만족합니다. 불확정성 원리는 입자의 위치와 운동량을 동시에 정확하게 측정할 수 없다는 원리입니다.
4. 입자의 확률적 행동: 슈뢰딩거 방정식은 입자의 확률적 행동을 설명합니다. 슈뢰딩거 방정식을 통해 입자의 위치, 운동량, 에너지 등을 확률적으로 예측할 수 있습니다.
5. 양자역학의 기본 개념: 슈뢰딩거 방정식은 양자역학의 기본 개념인 파동함수와 확률 밀도 함수를 포함하고 있습니다.
슈뢰딩거 방정식은 양자역학의 핵심 개념인 파동함수와 확률 밀도 함수를 설명하는 데 매우 중요한 역할을 합니다. 슈뢰딩거 방정식을 통해 입자의 위치, 운동량, 에너지 등을 확률적으로 예측할 수 있으며, 양자역학의 기본 개념인 파동함수와 확률 밀도 함수를 이해하는 데 매우 중요합니다.<|im_end|>
ChatGPT에 의하면 대부분 정확한 설명이며, 중간에 틀린 설명이 약간 있긴 하지만 0.5B보다는 확실히 줄었다. 또한 0.5B에서 보였던 같은 말 반복 현상이 보이지 않는다.
이번엔 영화 프롬프트를 넣어봤고, 말투랑 답변 형식을 지정해봤다.
<|im_start|>user
역사상 가장 재미있는 영화 5편 추천해줘. 영화 제목, 영화 감독, 영화 줄거리, 출연 배우 순으로 정리해주고, 말투는 ~했음. 식으로 간결하게 답변해줘.<|im_end|>
<|im_start|>assistant
네, 사용자님! 역사상 가장 재미있는 영화 5편을 추천해 드리겠습니다.
1. 쇼생크 탈출 (1994)
- 감독: 프랭크 다라본트
- 줄거리: 은행 강도로 체포된 앤디 듀프레인이 교도소에서 쇼생크 교도소에 수감되면서 벌어지는 이야기를 다룬 영화
- 출연 배우: 팀 로빈스, 모건 프리먼, 앤디 가르시아, 에드워드 노튼 등
2. 타이타닉 (1997)
- 감독: 제임스 카메론
- 줄거리: 1912년 초호화 여객선 타이타닉호가 침몰하는 사건을 배경으로 한 로맨스와 생존을 그린 영화
- 출연 배우: 레오나르도 디카프리오, 케이트 윈슬렛, 레슬리 하워드, 조니 뎁 등
3. 인셉션 (2010)
- 감독: 크리스토퍼 놀란
- 줄거리: 꿈 속에서 꿈을 조작하여 인권을 침해하는 범죄자를 막는 이야기를 다룬 영화
- 출연 배우: 레오나르도 디카프리오, 조셉 고든 레빗, 엘렌 페이지, 톰 하디 등
4. 해리 포터와 마법사의 돌 (2001)
- 감독: 크리스 콜럼버스
- 줄거리: 마법 학교인 호그와트에 입학한 해리 포터가 마법사 세계에서 벌어지는 사건을 해결하는 이야기를 다룬 영화
- 출연 배우: 다니엘 래드클리프, 엠마 왓슨, 루퍼트 그린트, 잭 테이슨 등
5. 어벤져스: 엔드게임 (2019)
- 감독: 앤서니 루소, 조 루소
- 줄거리: 어벤져스 멤버들이 타노스와의 전투를 통해 지구를 구하는 이야기를 다룬 영화
- 출연 배우: 로버트 다우니 주니어, 크리스 에반스, 마크 러팔로, 크리스 헴스워스 등
위 영화들은 모두 대중적인 인기와 함께 작품성도 높은 영화들입니다.<|im_end|>
이번에도 내가 프롬프트로 요구한 내용을 정확하게 충족했다. 물론 이번에도 환각 현상이 있긴 한데 엉뚱한 대답을 내뱉지는 않는다.
마지막으로 파일 형식도 지정할 수 있다하여서 jsonl 파일 하나로 생성해달라고 해봤다.
<|im_start|>user
역사상 가장 재미있는 영화 5편 추천해줘. 영화 제목, 영화 감독, 영화 줄거리, 출연 배우 순으로 정리해주고, 답변 포맷을 jsonl 파일 형식으로 해줘.<|im_end|>
<|im_start|>assistant
{
"movies": [
{
"title": "인셉션 (Inception)",
"director": "크리스토퍼 놀란",
"summary": "꿈 속에서 꿈을 조작하여 정보를 빼내는 작전을 펼치는 내용을 담고 있습니다. 현실과 꿈의 경계가 모호한 상황에서 벌어지는 긴장감 넘치는 이야기가 인상적입니다.",
"cast": [
"레오나르도 디카프리오",
"조셉 고든 레빗",
"엘렌 페이지",
"톰 하디"
]
},
{
"title": "쇼생크 탈출 (The Shawshank Redemption)",
"director": " 프랭크 다라본트",
"summary": "감옥에서 벌어지는 우정과 희망을 그린 감동적인 이야기입니다. 주인공이 희망을 잃지 않고 탈출을 시도하는 모습이 인상적입니다.",
"cast": [
"모건 프리먼",
"Tim Robbins",
"Clancy Brown",
"Wally 스콧"
]
},
{
"title": "해리 포터와 마법사의 돌",
"director": "크리스토퍼 놀란",
"summary": "마법사 세계를 배경으로 한 모험과 우정을 그린 영화입니다. 주인공 해리 포터가 마법학교에 입학하면서 벌어지는 이야기를 담고 있습니다.",
"cast": [
"매튜 맥커너히",
"안나 크레이그",
"알리슨 홉킨스",
"로버트 피어스"
]
},
{
"title": "어벤져스: 엔드게임 (Avengers: Endgame)",
"director": "안소니 루소, 조 루소",
"summary": "어벤져스 멤버들이 우주의 위기를 막기 위해 싸우는 이야기를 그린 영화입니다. 화려한 액션과 감동적인 이야기가 인상적입니다.",
"cast": [
"로버트 다우니 주니어",
"크리스 에반스",
"마크 러팔로",
"스칼렛 요한슨"
]
},
{
"title": "포레스트 검프 (Forrest Gump)",
"director": "로버트 저메키스",
"summary": "평범한 남성이 운명의 힘으로 거대한 역사적 사건들을 경험하는 이야기를 그린 영화입니다. 감동적인 메시지가 인상적입니다.",
"cast": [
"톰 행크스",
"로빈 라이트",
"게리 시니즈",
"게리 커닝햄"
]
}
]
}<|im_end|>
역시 정확하게 jsnol 파일 형식으로 출력해줬다. 이 정도만 되어도 꽤 유의미한 자동화 작업을 여러 개 할 수 있기 때문에, 괜찮은 수준이라고 보인다. 물론 환각이 여전히 조금 있긴 해서 만약 이 모델을 상용화할 목적을 가진 사람이라면 도메인 특화 파인튜닝이 필수적일 것이다.
1.5B 한 줄 요약 : 0.5B 보다 약간 좋은 것 같다! 파인튜닝한다면 챗봇으로 활용 충분히 가능할 듯
HyperCLOBAX-SEED 3B
3B 모델은 멀티모달인데 이거까지 한 포스팅에 작성하면 글이 너무나도 길어질 것 같다. 한국어 능력은 0.5B,1.5B로 좋다는 것이 충분히 검증됐으므로 3B는 이미지 처리 능력 하나만 검증해보도록 하겠다.
3B 모델까지 써보려고 했는데 어째서인지 오류가 발생한다. 허깅페이스의 이슈를 확인해보니 작동이 잘 안된다는 의견들이 있어서 아직 코드가 불안정한 것 같다. 이 부분은 나중에 업데이트하도록 하겠다.
'LLM' 카테고리의 다른 글
[LLM] ChatGPT는 이제 모든 대화를 기억할 수 있다. 메모리 최신업데이트에 대한 탐구 (+Context Length, RAG) (0) | 2025.04.14 |
---|---|
[LLM] ChatGPT 4o 이미지 생성 모델, 어떻게 만들었는지 원리 탐구 (4) | 2025.03.28 |
[LLM] LG의 LLM EXAONE Deep 사용 후기 및 딥시크 R1, OpenAI o1 과의 비교 (6) | 2025.03.18 |
[LLM] 심심해서 구해본 BERT의 파라미터 수 (2) | 2025.02.12 |
[LLM] Attention is All You Need 의 Base Transformer 파라미터 수 계산 (2) | 2025.02.11 |