오픈소스 LLM과 Hugging Face 입문: 모델 사용부터 파인튜닝까지 한 번에 이해하기

오픈 소스 대규모 언어 모델(LLM)은 인간의 언어를 이해하고 생성하며 상호 작용할 수 있도록 설계된 일종의 인공지능 소프트웨어입니다. 이 모델들은 “오픈 소스”로, 그 코드와 때로는 훈련된 모델 자체도 누구나 사용하고 수정하며 배포할 수 있도록 공개되어 있습니다. 허깅 페이스는 NLP 분야에서 두각을 나타내는 기업으로, 개발자와 기업이 다양한 언어와 작업을 위한 사전 훈련된 모델을 쉽게 이용할 수 있도록 지원하며 AI 연구와 개발을 촉진하고 있습니다. 이러한 사전 훈련된 모델들은 학술 연구를 촉진할 뿐만 아니라, 개발자와 기업이 그들의 어플리케이션에 고급 AI 기능을 통합할 수 있게 함으로써 AI 기술의 접근성을 크게 향상시켰습니다.

인공지능 개발을 시작하면 가장 자주 만나게 되는 이름 중 하나가 Hugging Face입니다. 특히 오픈소스 LLM, 자연어처리 모델, 텍스트 분류, 요약, 번역, 챗봇, 파인튜닝을 다루려면 Hugging Face는 거의 필수 도구에 가깝습니다.

과거에는 딥러닝 모델을 사용하려면 논문을 읽고, 모델 구조를 직접 구현하고, 학습된 가중치를 맞춰 불러와야 했습니다. 하지만 Hugging Face는 이 과정을 크게 단순화했습니다.

이 글에서는 Hugging Face가 무엇인지, Transformers 라이브러리는 어떻게 쓰는지, Pipeline, Dataset, Trainer, PEFT, Model Hub를 실무 관점에서 쉽게 정리해보겠습니다.

Hugging Face란 무엇인가?

Hugging Face는 오픈소스 AI 모델을 쉽게 찾고, 실행하고, 공유할 수 있게 해주는 AI 플랫폼입니다.

처음에는 자연어처리 모델 중심으로 성장했지만, 지금은 텍스트뿐 아니라 이미지, 음성, 비디오, 멀티모달, 로봇, 데이터셋, AI 앱까지 다루는 거대한 오픈 AI 생태계가 되었습니다.

Hugging Face의 핵심 가치는 간단합니다.

AI 모델을 대기업이나 연구소만 쓰는 것이 아니라, 개발자와 기업, 연구자, 개인도 쉽게 사용할 수 있게 만드는 것입니다.

Hugging Face를 쓰는 이유

Hugging Face를 사용하면 다음 작업을 훨씬 쉽게 처리할 수 있습니다.

작업Hugging Face에서 가능한 것
사전 학습 모델 사용BERT, GPT, T5, LLaMA 계열 모델 로드
텍스트 분류감정 분석, 스팸 분류, 고객 문의 분류
텍스트 생성GPT 계열 모델로 문장 생성
요약긴 문서를 짧게 요약
번역다국어 번역 모델 사용
질의응답문서 기반 질문 답변
파인튜닝내 데이터로 모델 재학습
모델 배포Hub, Inference Endpoint, Spaces 활용

특히 초보자에게 중요한 점은 복잡한 모델 구조를 몰라도 모델을 바로 사용할 수 있다는 것입니다.

Transformers 라이브러리 이해하기

Hugging Face 생태계의 중심에는 Transformers 라이브러리가 있습니다.

Transformers는 BERT, GPT, RoBERTa, T5, LLaMA 같은 다양한 모델을 하나의 통일된 방식으로 사용할 수 있게 해주는 Python 라이브러리입니다.

설치는 간단합니다.

pip install transformers torch

기본적인 모델 로드는 다음처럼 할 수 있습니다.

from transformers import AutoTokenizer, AutoModelForSequenceClassification

model_name = "distilbert-base-uncased-finetuned-sst-2-english"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

여기서 중요한 것은 AutoTokenizerAutoModel입니다.

예전에는 BERT 모델이면 BertForSequenceClassification, RoBERTa 모델이면 RobertaForSequenceClassification처럼 모델 구조에 맞는 클래스를 직접 골라야 했습니다.

하지만 Auto 클래스는 모델 이름만 보고 자동으로 적절한 구조를 선택합니다. 즉, 개발자는 모델 이름만 바꿔도 여러 모델을 쉽게 실험할 수 있습니다.

model_name = "bert-base-uncased"

또는 다음처럼 바꿀 수도 있습니다.

model_name = "roberta-base"

복잡한 내부 구조를 몰라도 모델을 바꿔가며 실험할 수 있다는 점이 Hugging Face의 큰 장점입니다.

모델과 토크나이저는 왜 함께 써야 할까?

딥러닝 모델은 사람이 쓰는 문장을 그대로 이해하지 못합니다. 텍스트를 숫자로 바꿔야 합니다.

이 역할을 하는 것이 토크나이저(tokenizer)입니다.

예를 들어 다음 문장을 모델에 넣는다고 해보겠습니다.

text = "머신러닝은 소프트웨어 개발 방식을 바꾸고 있습니다."

tokens = tokenizer(
    text,
    return_tensors="pt",
    padding=True,
    truncation=True
)

print(tokens)

출력 결과에는 보통 다음 값들이 포함됩니다.

{
  "input_ids": ...,
  "attention_mask": ...
}

input_ids는 문장을 숫자 ID로 바꾼 값입니다. attention_mask는 모델이 실제 텍스트 부분과 패딩 부분을 구분하도록 도와주는 값입니다.

중요한 점은 모델마다 사용하는 토크나이저가 다르다는 것입니다.

예를 들어 BERT는 WordPiece 계열 토크나이저를 사용하고, GPT 계열은 BPE 방식의 토크나이저를 많이 사용합니다. 같은 단어라도 모델에 따라 숫자 ID가 달라질 수 있습니다.

그래서 반드시 모델과 토크나이저는 같은 이름으로 불러와야 합니다.

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

모델은 특정 토크나이저로 학습되었기 때문에, 다른 토크나이저를 사용하면 성능이 크게 떨어지거나 엉뚱한 결과가 나올 수 있습니다.

시퀀스 길이 제한 이해하기

Transformer 모델에는 한 번에 처리할 수 있는 최대 토큰 수가 있습니다.

예를 들어 BERT 계열 모델은 보통 512 토큰 제한을 갖습니다. 그보다 긴 문서를 넣으면 오류가 나거나 문서가 잘릴 수 있습니다.

그래서 실무에서는 보통 다음 옵션을 사용합니다.

tokens = tokenizer(
    text,
    truncation=True,
    padding=True,
    return_tensors="pt"
)

truncation=True는 모델이 처리할 수 있는 길이를 초과한 부분을 잘라냅니다.

다만 이 방식에는 단점이 있습니다. 긴 문서의 뒷부분 정보가 사라질 수 있습니다.

긴 문서를 다뤄야 한다면 다음 전략을 고려해야 합니다.

긴 문서 처리 방법

방법설명
청킹(chunking)문서를 여러 조각으로 나눠 각각 처리
긴 컨텍스트 모델 사용Longformer, BigBird, 최신 LLM 사용
요약 후 분류긴 문서를 먼저 요약한 뒤 모델에 입력
RAG 사용필요한 문서 조각만 검색해서 LLM에 전달

특히 블로그, 논문, 보고서, 법률 문서처럼 긴 텍스트를 다룰 때는 단순히 truncation=True만 쓰는 것보다 청킹 + 요약 + 검색 기반 처리를 함께 고려하는 것이 좋습니다.

Pipeline으로 가장 쉽게 모델 사용하기

Hugging Face를 처음 배운다면 가장 먼저 익혀야 할 기능은 Pipeline입니다.

Pipeline은 모델 로드, 토크나이징, 추론, 후처리를 한 번에 처리해주는 고수준 API입니다.

예를 들어 감정 분석은 다음처럼 할 수 있습니다.

from transformers import pipeline

classifier = pipeline("sentiment-analysis")

result = classifier("I really enjoyed using this product.")
print(result)

출력 예시는 다음과 같습니다.

[{'label': 'POSITIVE', 'score': 0.9998}]

텍스트 생성도 간단합니다.

from transformers import pipeline

generator = pipeline("text-generation", model="gpt2")

output = generator(
    "The future of AI is",
    max_length=50,
    num_return_sequences=1
)

print(output[0]["generated_text"])

질의응답도 가능합니다.

from transformers import pipeline

qa = pipeline("question-answering")

context = """
Hugging Face는 오픈소스 AI 모델을 쉽게 사용할 수 있게 해주는 플랫폼입니다.
개발자는 Hub에서 모델을 찾고, Transformers 라이브러리로 모델을 실행할 수 있습니다.
"""

answer = qa(
    question="개발자는 어디에서 모델을 찾을 수 있나요?",
    context=context
)

print(answer)

Pipeline은 빠른 프로토타입 제작에 매우 유용합니다. 처음에는 Pipeline으로 시작하고, 더 세밀한 제어가 필요해지면 AutoTokenizer, AutoModel, Trainer 단계로 내려가는 방식이 좋습니다.

Dataset 라이브러리로 학습 데이터 다루기

모델만큼 중요한 것이 데이터입니다.

Hugging Face의 Datasets 라이브러리는 공개 데이터셋을 불러오거나, 직접 만든 데이터를 학습용 데이터셋으로 변환할 때 유용합니다.

예를 들어 IMDB 영화 리뷰 데이터셋은 다음처럼 불러올 수 있습니다.

from datasets import load_dataset

dataset = load_dataset("imdb")

print(dataset)

직접 만든 pandas 데이터프레임도 Dataset으로 바꿀 수 있습니다.

import pandas as pd
from datasets import Dataset

df = pd.DataFrame({
    "text": ["좋은 제품입니다.", "배송이 너무 느립니다."],
    "label": [1, 0]
})

custom_dataset = Dataset.from_pandas(df)

데이터 전처리도 쉽게 할 수 있습니다.

def tokenize_function(examples):
    return tokenizer(
        examples["text"],
        padding="max_length",
        truncation=True
    )

tokenized_dataset = dataset.map(tokenize_function, batched=True)

datasets 라이브러리는 대용량 데이터 처리에도 강합니다. 내부적으로 Apache Arrow를 사용하기 때문에 메모리 효율적으로 데이터를 다룰 수 있습니다.

Trainer API로 모델 파인튜닝하기

사전 학습 모델은 이미 똑똑하지만, 실무에서는 보통 내 데이터에 맞게 다시 학습해야 합니다.

예를 들어 다음과 같은 작업이 가능합니다.

목적예시
고객 문의 분류결제, 환불, 배송, 기술문의 분류
감정 분석긍정, 부정, 중립 분류
도메인 문서 분류세무, 법률, 투자, 의료 문서 분류
리뷰 분석상품 리뷰의 만족도 예측

Hugging Face의 Trainer API를 사용하면 PyTorch 학습 루프를 직접 작성하지 않아도 파인튜닝을 쉽게 할 수 있습니다.

from transformers import AutoTokenizer, AutoModelForSequenceClassification
from transformers import Trainer, TrainingArguments
from datasets import load_dataset

dataset = load_dataset("imdb")

model_name = "distilbert-base-uncased"

tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(
    model_name,
    num_labels=2
)

def tokenize_function(examples):
    return tokenizer(
        examples["text"],
        padding="max_length",
        truncation=True
    )

tokenized_dataset = dataset.map(tokenize_function, batched=True)

training_args = TrainingArguments(
    output_dir="./results",
    num_train_epochs=3,
    per_device_train_batch_size=16,
    per_device_eval_batch_size=16,
    evaluation_strategy="epoch",
    save_strategy="epoch",
    logging_dir="./logs",
    load_best_model_at_end=True
)

trainer = Trainer(
    model=model,
    args=training_args,
    train_dataset=tokenized_dataset["train"],
    eval_dataset=tokenized_dataset["test"]
)

trainer.train()

Trainer는 다음 기능을 기본적으로 지원합니다.

  • 학습 루프 자동 처리
  • 평가
  • 체크포인트 저장
  • 로그 기록
  • 혼합 정밀도 학습
  • 분산 학습 연동
  • 콜백 확장

처음 파인튜닝을 할 때는 학습 초반의 loss를 반드시 확인해야 합니다. loss가 전혀 줄어들지 않는다면 학습률, 데이터 라벨, 토크나이징 방식, 배치 크기를 점검해야 합니다.

Model Hub와 Model Card 읽는 법

Hugging Face Hub에는 수많은 모델이 있습니다. 하지만 모델이 많다는 것은 선택이 어렵다는 뜻이기도 합니다.

그래서 모델을 선택할 때는 반드시 Model Card를 읽어야 합니다.

Model Card는 모델 저장소에 포함된 설명 문서입니다. 모델의 목적, 사용법, 한계, 학습 데이터, 라이선스, 평가 결과 등을 확인할 수 있습니다.

모델 카드를 볼 때는 다음 항목을 확인해야 합니다.

모델 선택 체크리스트

확인 항목이유
작업 목적분류용인지, 생성용인지, 임베딩용인지 확인
라이선스상업적 사용 가능 여부 확인
학습 데이터어떤 데이터로 학습되었는지 확인
지원 언어한국어 지원 여부 확인
모델 크기GPU 메모리 요구량 확인
최근 업데이트관리되는 모델인지 확인
평가 지표벤치마크 성능 확인
사용 예제바로 적용 가능한 코드 확인

특히 상업용 서비스에 적용하려면 라이선스 확인은 필수입니다. 오픈소스 모델이라고 해서 모두 상업적 사용이 가능한 것은 아닙니다.

Accelerate로 분산 학습 쉽게 하기

모델 크기가 커지면 단일 GPU로 학습하기 어려워집니다. 이때 사용하는 라이브러리가 Accelerate입니다.

Accelerate는 단일 GPU, 멀티 GPU, TPU 환경에서 같은 코드를 최대한 유지하면서 학습할 수 있게 도와줍니다.

기본 구조는 다음과 같습니다.

from accelerate import Accelerator

accelerator = Accelerator()

model, optimizer, train_dataloader = accelerator.prepare(
    model,
    optimizer,
    train_dataloader
)

for batch in train_dataloader:
    outputs = model(**batch)
    loss = outputs.loss

    accelerator.backward(loss)

    optimizer.step()
    optimizer.zero_grad()

기존 PyTorch에서는 분산 학습을 위해 DistributedDataParallel, device 배치, gradient synchronization 등을 직접 신경 써야 했습니다.

Accelerate를 사용하면 이런 복잡한 설정을 훨씬 단순하게 만들 수 있습니다.

PEFT와 LoRA: 대형 모델을 가볍게 파인튜닝하는 방법

대형 LLM을 전체 파인튜닝하는 것은 비용이 큽니다.

예를 들어 70억 개 파라미터를 가진 모델을 여러 작업에 맞게 각각 전체 저장한다면 GPU 메모리와 저장 공간이 매우 많이 필요합니다.

이 문제를 해결하는 대표적인 방법이 PEFT(Parameter-Efficient Fine-Tuning)입니다.

그중 가장 많이 쓰이는 방식이 LoRA입니다.

LoRA는 모델 전체를 업데이트하지 않고, 일부 작은 어댑터 파라미터만 학습합니다. 덕분에 훨씬 적은 GPU 자원으로도 도메인 특화 모델을 만들 수 있습니다.

from peft import LoraConfig, get_peft_model

lora_config = LoraConfig(
    r=16,
    lora_alpha=32,
    target_modules=["q_proj", "v_proj"],
    lora_dropout=0.1
)

peft_model = get_peft_model(model, lora_config)

peft_model.print_trainable_parameters()

LoRA의 장점은 명확합니다.

장점설명
낮은 비용전체 모델보다 훨씬 적은 파라미터만 학습
빠른 학습학습 시간이 줄어듦
작은 저장 용량어댑터만 저장 가능
여러 작업 대응작업별 LoRA 어댑터를 따로 관리 가능
실무 친화적소비자용 GPU에서도 실험 가능

LLM을 실무에 적용하려는 개발자라면 전체 파인튜닝보다 LoRA 기반 파인튜닝부터 검토하는 것이 현실적입니다.

실무 예제 1: 고객 피드백 감정 분석

from transformers import pipeline

classifier = pipeline(
    "text-classification",
    model="cardiffnlp/twitter-roberta-base-sentiment-latest"
)

feedbacks = [
    "제품이 정말 마음에 듭니다. 업무 시간이 많이 줄었습니다.",
    "배송이 너무 늦어서 불만족스럽습니다.",
    "기능은 괜찮지만 특별히 인상적이지는 않습니다."
]

for feedback in feedbacks:
    result = classifier(feedback)[0]
    print(f"{feedback} -> {result['label']} ({result['score']:.3f})")

이런 방식은 고객 리뷰 분석, VOC 분석, CS 자동 분류에 활용할 수 있습니다.

다만 영어 기반 모델을 한국어에 그대로 쓰면 성능이 낮을 수 있습니다. 한국어 데이터에는 한국어 모델이나 다국어 모델을 선택하는 것이 좋습니다.

실무 예제 2: 텍스트 생성 제어하기

from transformers import pipeline

generator = pipeline("text-generation", model="gpt2-medium")

prompt = "The key to a successful machine learning project is"

outputs = generator(
    prompt,
    max_length=100,
    num_return_sequences=3,
    temperature=0.7,
    top_p=0.9,
    do_sample=True
)

for i, output in enumerate(outputs):
    print(f"\n--- Generation {i + 1} ---")
    print(output["generated_text"])

텍스트 생성에서는 temperaturetop_p가 중요합니다.

옵션의미
temperature 낮음더 안정적이고 예측 가능한 결과
temperature 높음더 창의적이지만 불안정할 수 있음
top_p 낮음선택 후보를 제한해 보수적인 생성
top_p 높음다양한 표현 가능

서비스용 챗봇이나 콘텐츠 생성 모델에서는 너무 높은 temperature를 쓰면 문장이 불안정해질 수 있습니다.

실무 예제 3: 문서 기반 질문 답변

from transformers import pipeline

qa = pipeline(
    "question-answering",
    model="deepset/roberta-base-squad2"
)

documentation = """
Accelerate 라이브러리는 PyTorch 모델을 단일 GPU, 멀티 GPU, TPU 환경에서
쉽게 학습할 수 있도록 도와줍니다. 장치 배치, 기울기 동기화,
혼합 정밀도 학습을 자동으로 처리합니다.
"""

questions = [
    "Accelerate는 무엇을 도와주나요?",
    "Accelerate가 자동으로 처리하는 것은 무엇인가요?"
]

for question in questions:
    result = qa(question=question, context=documentation)

    print(f"Q: {question}")
    print(f"A: {result['answer']} ({result['score']:.3f})")

이 방식은 간단한 문서 질의응답에는 유용합니다. 하지만 긴 문서나 여러 문서를 대상으로 답변해야 한다면 RAG 구조를 사용하는 것이 더 적합합니다.

Hugging Face 실무 최적화 팁

Hugging Face를 실무에서 사용할 때는 다음 팁을 기억하면 좋습니다.

1. 처음에는 Pipeline으로 시작하기

처음부터 복잡한 모델 클래스를 직접 다루기보다 Pipeline으로 빠르게 결과를 확인하는 것이 좋습니다.

from transformers import pipeline

classifier = pipeline("sentiment-analysis")
classifier("This is useful.")

작동이 확인되면 그다음에 모델, 토크나이저, 배치 처리, GPU 최적화를 적용하면 됩니다.

2. 모델 캐시 위치 확인하기

Hugging Face 모델은 한 번 다운로드하면 로컬에 캐시됩니다.

모델 파일은 수백 MB에서 수십 GB까지 커질 수 있습니다. 여러 모델을 테스트하다 보면 디스크 용량이 빠르게 줄어들 수 있습니다.

환경변수로 캐시 위치를 지정할 수 있습니다.

export HF_HOME=/your/cache/path

또는 프로젝트별로 캐시를 관리하는 것도 좋습니다.

3. 배치 추론 사용하기

텍스트를 하나씩 추론하면 GPU를 제대로 활용하지 못합니다.

좋지 않은 방식은 다음과 같습니다.

results = [classifier(text) for text in texts]

더 나은 방식은 다음과 같습니다.

results = classifier(texts, batch_size=32)

배치 추론은 많은 데이터를 처리할 때 속도 차이가 큽니다.

4. 16비트 또는 4비트 양자화 활용하기

큰 모델을 사용할 때는 메모리 사용량이 문제입니다.

가능하다면 torch.float16, bfloat16, 8비트, 4비트 양자화를 고려할 수 있습니다.

from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained(
    "model-name",
    torch_dtype="auto",
    device_map="auto"
)

LLM 추론에서는 bitsandbytes 기반 4비트 로딩도 자주 사용됩니다.

5. 모델 카드와 라이선스 확인하기

모델을 실제 서비스에 넣기 전에는 반드시 다음을 확인해야 합니다.

  • 상업적 사용 가능 여부
  • 학습 데이터 출처
  • 개인정보 포함 가능성
  • 금지된 사용 범위
  • 모델의 한계
  • 벤치마크 성능
  • 업데이트 여부

특히 기업 서비스에서는 기술 성능보다 라이선스와 데이터 거버넌스가 더 큰 문제가 될 수 있습니다.

기업 환경에서 Hugging Face를 써도 될까?

결론부터 말하면 가능합니다. 다만 무조건 가져다 쓰는 방식은 위험합니다.

Hugging Face는 개인 개발자뿐 아니라 기업 환경을 위한 기능도 제공합니다. 공개 모델뿐 아니라 비공개 저장소, 팀 협업, 모델 배포, 추론 엔드포인트 등을 활용할 수 있습니다.

기업에서 검토해야 할 요소는 다음과 같습니다.

항목확인할 내용
보안모델과 데이터가 어디에 저장되는가
라이선스상업적 사용이 가능한가
비용GPU 추론 비용은 예측 가능한가
지연 시간실시간 서비스에 적합한가
거버넌스모델 버전, 승인자, 배포 이력 관리 가능 여부
개인정보학습·추론 데이터에 민감정보가 포함되는가

초기에는 Hugging Face Inference Endpoint나 Spaces로 빠르게 검증하고, 트래픽이 커지면 자체 호스팅 또는 하이브리드 구조를 검토하는 방식이 현실적입니다.

Hugging Face 생태계의 현재 방향

Hugging Face는 단순히 NLP 모델 저장소가 아닙니다. 지금은 오픈소스 AI 인프라 플랫폼에 가깝습니다.

현재 Hugging Face 생태계는 다음 방향으로 확장되고 있습니다.

  • 오픈소스 LLM 모델 허브
  • 데이터셋 공유 플랫폼
  • Spaces 기반 AI 앱 배포
  • Inference Endpoint 기반 모델 서빙
  • PEFT와 LoRA 기반 경량 파인튜닝
  • Text Generation Inference 기반 LLM 서빙
  • 멀티모달 모델 지원
  • 로보틱스와 에이전트 생태계 확장

즉, Hugging Face는 모델을 다운로드하는 사이트를 넘어 AI 개발의 GitHub 같은 역할을 하고 있습니다.

Hugging Face를 처음 배우는 개발자를 위한 추천 순서

처음부터 모든 기능을 배울 필요는 없습니다. 다음 순서로 익히면 좋습니다.

1단계: Pipeline 사용

감정 분석, 요약, 번역, 텍스트 생성을 Pipeline으로 실행해봅니다.

2단계: AutoTokenizer와 AutoModel 이해

모델과 토크나이저가 어떻게 연결되는지 이해합니다.

3단계: Dataset 라이브러리 사용

공개 데이터셋과 직접 만든 데이터를 불러오고 전처리합니다.

4단계: Trainer로 파인튜닝

내 데이터로 분류 모델을 학습시켜봅니다.

5단계: PEFT와 LoRA 적용

대형 모델을 가볍게 파인튜닝하는 방법을 익힙니다.

6단계: 배포와 최적화

Inference Endpoint, TGI, 양자화, 배치 추론, 캐싱 전략을 적용합니다.

마무리: Hugging Face는 오픈소스 LLM 시대의 필수 도구다

오픈소스 LLM을 제대로 활용하려면 Hugging Face를 이해하는 것이 중요합니다.

Hugging Face는 모델을 쉽게 불러오고, 데이터셋을 관리하고, 파인튜닝하고, 배포까지 이어지는 전체 흐름을 제공합니다.

처음에는 Pipeline으로 간단히 시작하면 됩니다. 그다음 AutoModel, Dataset, Trainer, PEFT, LoRA로 확장하면 실무 수준의 AI 모델 개발까지 이어갈 수 있습니다.

AI 개발에서 중요한 것은 모든 모델 구조를 처음부터 직접 구현하는 것이 아닙니다. 이미 검증된 도구를 활용해 빠르게 실험하고, 내 문제에 맞게 조정하고, 안정적으로 배포하는 것입니다.

그 관점에서 Hugging Face는 오픈소스 LLM과 AI 개발을 배우는 사람에게 가장 좋은 출발점 중 하나입니다.

댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다