<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ko">
	<id>https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=LLM</id>
	<title>LLM - 편집 역사</title>
	<link rel="self" type="application/atom+xml" href="https://devcafe.co.kr/w/index.php?action=history&amp;feed=atom&amp;title=LLM"/>
	<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=LLM&amp;action=history"/>
	<updated>2026-04-04T07:39:05Z</updated>
	<subtitle>이 문서의 편집 역사</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://devcafe.co.kr/w/index.php?title=LLM&amp;diff=2283&amp;oldid=prev</id>
		<title>Devcafe: 새 문서: == LLM(대형 언어 모델) 샘플 프로그램 == * 라마(Llama) 모델을 기반으로 한 LLM(대형 언어 모델) 샘플 프로그램을 만드는 방법 * Meta의 Llama는 오픈소스 LLM으로, 자체적으로 Python 라이브러리인 `transformers`를 통해 쉽게 사용할 수 있습니다.  * 아래 샘플 코드는 Llama 3 모델을 다운로드하고, 간단한 텍스트 생성 작업을 수행하는 방법을 보여줍니다.  -----  === 사전 준비 사항 ==...</title>
		<link rel="alternate" type="text/html" href="https://devcafe.co.kr/w/index.php?title=LLM&amp;diff=2283&amp;oldid=prev"/>
		<updated>2025-08-26T05:52:00Z</updated>

		<summary type="html">&lt;p&gt;새 문서: == LLM(대형 언어 모델) 샘플 프로그램 == * 라마(Llama) 모델을 기반으로 한 LLM(대형 언어 모델) 샘플 프로그램을 만드는 방법 * Meta의 Llama는 오픈소스 LLM으로, 자체적으로 Python 라이브러리인 `transformers`를 통해 쉽게 사용할 수 있습니다.  * 아래 샘플 코드는 Llama 3 모델을 다운로드하고, 간단한 텍스트 생성 작업을 수행하는 방법을 보여줍니다.  -----  === 사전 준비 사항 ==...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;새 문서&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== LLM(대형 언어 모델) 샘플 프로그램 ==&lt;br /&gt;
* 라마(Llama) 모델을 기반으로 한 LLM(대형 언어 모델) 샘플 프로그램을 만드는 방법&lt;br /&gt;
* Meta의 Llama는 오픈소스 LLM으로, 자체적으로 Python 라이브러리인 `transformers`를 통해 쉽게 사용할 수 있습니다. &lt;br /&gt;
* 아래 샘플 코드는 Llama 3 모델을 다운로드하고, 간단한 텍스트 생성 작업을 수행하는 방법을 보여줍니다.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== 사전 준비 사항 ===&lt;br /&gt;
# Hugging Face 계정: Llama 모델은 Hugging Face Hub에서 다운로드받아야 합니다. Meta의 사용 허가를 얻어야 접근할 수 있습니다.&lt;br /&gt;
# Hugging Face CLI: 터미널에 아래 명령어를 입력하여 Hugging Face에 로그인해야 합니다.&lt;br /&gt;
#:&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
    huggingface-cli login&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
# 필수 라이브러리 설치: Llama 3는 `transformers`, `torch` 등 여러 라이브러리를 필요로 합니다.&lt;br /&gt;
#:&amp;lt;source lang=bash&amp;gt;&lt;br /&gt;
    pip install transformers torch accelerate&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* GPU 사용을 원할 경우 `accelerate` 라이브러리가 필요합니다.&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
=== Llama 모델을 이용한 텍스트 생성 샘플 프로그램 ===&lt;br /&gt;
*  아래 코드는 `transformers` 라이브러리의 `pipeline` 함수를 사용하여 Llama 3 8B 모델을 로드하고, 주어진 프롬프트에 대한 응답을 생성합니다.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=python&amp;gt;&lt;br /&gt;
import torch&lt;br /&gt;
from transformers import AutoTokenizer, AutoModelForCausalLM&lt;br /&gt;
&lt;br /&gt;
# Llama 3 모델 이름 (Hugging Face Hub에서 확인)&lt;br /&gt;
model_id = &amp;quot;meta-llama/Meta-Llama-3-8B-Instruct&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# 토크나이저 및 모델 로드&lt;br /&gt;
tokenizer = AutoTokenizer.from_pretrained(model_id)&lt;br /&gt;
model = AutoModelForCausalLM.from_pretrained(&lt;br /&gt;
    model_id,&lt;br /&gt;
    torch_dtype=torch.bfloat16,  # 메모리 효율을 위해 bfloat16 사용&lt;br /&gt;
    device_map=&amp;quot;auto&amp;quot;,          # 사용 가능한 GPU가 있으면 자동으로 사용&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# 프롬프트 구성&lt;br /&gt;
messages = [&lt;br /&gt;
    {&amp;quot;role&amp;quot;: &amp;quot;system&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;You are a helpful AI assistant.&amp;quot;},&lt;br /&gt;
    {&amp;quot;role&amp;quot;: &amp;quot;user&amp;quot;, &amp;quot;content&amp;quot;: &amp;quot;What is the capital of France?&amp;quot;},&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
# 프롬프트 토큰화&lt;br /&gt;
prompt = tokenizer.apply_chat_template(&lt;br /&gt;
    messages,&lt;br /&gt;
    tokenize=False,&lt;br /&gt;
    add_generation_prompt=True&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# 텍스트 생성 파이프라인&lt;br /&gt;
inputs = tokenizer([prompt], return_tensors=&amp;quot;pt&amp;quot;).to(model.device)&lt;br /&gt;
&lt;br /&gt;
# 텍스트 생성&lt;br /&gt;
outputs = model.generate(&lt;br /&gt;
    **inputs,&lt;br /&gt;
    max_new_tokens=256,&lt;br /&gt;
    do_sample=True,&lt;br /&gt;
    temperature=0.7,&lt;br /&gt;
    top_p=0.9&lt;br /&gt;
)&lt;br /&gt;
&lt;br /&gt;
# 생성된 텍스트 디코딩 및 출력&lt;br /&gt;
response = tokenizer.decode(outputs[0], skip_special_tokens=True)&lt;br /&gt;
print(response)&lt;br /&gt;
&lt;br /&gt;
# 만약 파이프라인을 사용한다면 더 간단하게 구현 가능&lt;br /&gt;
# from transformers import pipeline&lt;br /&gt;
# pipe = pipeline(&amp;quot;text-generation&amp;quot;, model=model_id, model_kwargs={&amp;quot;torch_dtype&amp;quot;: torch.bfloat16, &amp;quot;device_map&amp;quot;: &amp;quot;auto&amp;quot;})&lt;br /&gt;
# outputs = pipe(&lt;br /&gt;
#     prompt,&lt;br /&gt;
#     max_new_tokens=256,&lt;br /&gt;
#     do_sample=True,&lt;br /&gt;
#     temperature=0.7,&lt;br /&gt;
#     top_p=0.9&lt;br /&gt;
# )&lt;br /&gt;
# print(outputs[0][&amp;#039;generated_text&amp;#039;])&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*코드 설명&lt;br /&gt;
&lt;br /&gt;
1.  모델 로드: `AutoModelForCausalLM.from_pretrained()` 함수는 Hugging Face Hub에서 Llama 모델을 자동으로 다운로드하고 로드합니다.&lt;br /&gt;
       `torch_dtype=torch.bfloat16`: 모델의 정밀도를 `bfloat16`으로 설정하여 메모리 사용량을 절반으로 줄입니다.&lt;br /&gt;
       `device_map=&amp;quot;auto&amp;quot;`: GPU가 있다면 자동으로 사용하고, 없다면 CPU를 사용합니다.&lt;br /&gt;
2.  프롬프트 구성: Llama 3 모델은 대화 형식의 프롬프트(`system`, `user`, `assistant` 역할)에 최적화되어 있습니다.&lt;br /&gt;
3.  토크나이저: `tokenizer.apply_chat_template()` 함수는 대화 형식을 모델이 이해할 수 있는 토큰 ID로 변환합니다.&lt;br /&gt;
4.  텍스트 생성: `model.generate()` 함수는 토큰화된 입력을 받아 텍스트를 생성합니다.&lt;br /&gt;
       `max_new_tokens`: 생성할 최대 토큰 수를 지정합니다.&lt;br /&gt;
       `do_sample`: `True`로 설정하면 무작위성을 부여하여 더 창의적인 텍스트를 생성합니다.&lt;br /&gt;
       `temperature` 및 `top_p`: 텍스트 생성의 무작위성을 제어하는 파라미터입니다.&lt;br /&gt;
5.  디코딩: `tokenizer.decode()` 함수는 생성된 토큰 ID를 다시 읽을 수 있는 텍스트로 변환합니다.&lt;br /&gt;
&lt;br /&gt;
[[category:python]]&lt;br /&gt;
[[category:ai]]&lt;/div&gt;</summary>
		<author><name>Devcafe</name></author>
	</entry>
</feed>