floatFirstTOC: right
π₯οΈΒ μμνλ©°
νΈλμ€ν¬λ¨Έ λͺ¨λΈ νμΈνλ 곡λΆ
πΒ μ 리
νΈλμ€ν¬λ¨Έ λͺ¨λΈ νμΈνλμ νΉμ μμ
μ λ§κ² μ¬μ νμ΅λ νΈλμ€ν¬λ¨Έ λͺ¨λΈμ μ‘°μ νλ κ³Όμ , μ΄λ₯Ό ν΅ν΄ λͺ¨λΈμ΄ νΉμ λλ©μΈ λ°μ΄ν°μμ λ μ’μ μ±λ₯μ λ°νν μ μμ.
1. νΈλμ€ν¬λ¨Έ λͺ¨λΈ μ΄ν΄
νΈλμ€ν¬λ¨Έ λͺ¨λΈμ μ£Όλ‘ μμ°μ΄ μ²λ¦¬(NLP) μμ
μ μ¬μ©λλ λ₯λ¬λ λͺ¨λΈμ. νΈλμ€ν¬λ¨Έ μν€ν
μ²λ μ
ν μ΄ν
μ
λ©μ»€λμ¦μ μ¬μ©νμ¬ μ
λ ₯ μνμ€μ κ° μμκ° λ€λ₯Έ μμλ€κ³Όμ κ΄κ³λ₯Ό νμ΅ν μ μλλ‘ ν¨. λνμ μΈ νΈλμ€ν¬λ¨Έ λͺ¨λΈμλ BERT, GPT, T5 λ±μ΄ μμ.
2. νμΈνλμ νμμ±
μ¬μ νμ΅λ νΈλμ€ν¬λ¨Έ λͺ¨λΈμ λκ·λͺ¨ λ°μ΄ν°μ
μμ μΌλ°μ μΈ μΈμ΄ ν¨ν΄μ νμ΅νμ§λ§, νΉμ μμ
(μ: κ°μ± λΆμ, μ§λ¬Έ λ΅λ³, λ²μ λ±)μλ μ΅μ νλμ΄ μμ§ μμ. νμΈνλμ μ΄ λͺ¨λΈμ νΉμ λλ©μΈμ μμ λ°μ΄ν°μ
μ λ§κ² μ‘°μ νμ¬ νΉμ μμ
μμ λ λμ μ±λ₯μ λ°νν μ μλλ‘ ν¨.
3. νμΈνλμ λ¨κ³
3.1. λ°μ΄ν° μ€λΉ
νμΈνλμ μ¬μ©ν λ°μ΄ν°μ
μ μ€λΉν΄μΌ ν¨. λ°μ΄ν°μ
μ λͺ¨λΈμ΄ ν΄κ²°νλ €λ μμ
μ λ§κ² λ μ΄λΈμ΄ μ§μ λμ΄ μμ΄μΌ ν¨.
μ: κ°μ± λΆμμ μν λ°μ΄ν°μ
μ κ° λ¬Έμ₯μ κΈμ , λΆμ λ±μ λ μ΄λΈμ΄ λΆμ΄ μμ΄μΌ ν¨.
3.2. μ¬μ νμ΅λ λͺ¨λΈ λ‘λ
Hugging Faceμ Transformers λΌμ΄λΈλ¬λ¦¬λ₯Ό μ¬μ©νλ©΄ μ½κ² μ¬μ νμ΅λ νΈλμ€ν¬λ¨Έ λͺ¨λΈμ λ‘λν μ μμ. μλ₯Ό λ€μ΄, BERT λͺ¨λΈμ λ‘λνλ λ°©λ²μ λ€μκ³Ό κ°μ:
from transformers import BertTokenizer, BertForSequenceClassification model_name = "bert-base-uncased" tokenizer = BertTokenizer.from_pretrained(model_name) model = BertForSequenceClassification.from_pretrained(model_name)
3.3. λ°μ΄ν° μ μ²λ¦¬
λ°μ΄ν°λ₯Ό λͺ¨λΈμ μ
λ ₯νκΈ° μ μ ν ν¬λμ΄μ λ₯Ό μ¬μ©νμ¬ ν
μ€νΈ λ°μ΄ν°λ₯Ό ν ν°νν¨.
inputs = tokenizer("Hello, how are you?", return_tensors="pt")
3.4. νμΈνλ μ€μ
λͺ¨λΈμ νμΈνλνκΈ° μν νμ΄νΌνλΌλ―Έν°λ₯Ό μ€μ ν¨. μ£Όλ‘ νμ΅λ₯ , λ°°μΉ ν¬κΈ°, μν μ λ±μ μ‘°μ ν¨.
from transformers import Trainer, TrainingArguments training_args = TrainingArguments( output_dir='./results', num_train_epochs=3, per_device_train_batch_size=8, per_device_eval_batch_size=8, warmup_steps=500, weight_decay=0.01, logging_dir='./logs', )
3.5. λͺ¨λΈ νμΈνλ
Trainer APIλ₯Ό μ¬μ©νμ¬ λͺ¨λΈμ νμΈνλν¨.
trainer = Trainer( model=model, args=training_args, train_dataset=train_dataset, eval_dataset=eval_dataset, ) trainer.train()
4. νκ° λ° μ μ₯
νμΈνλμ΄ μλ£λλ©΄ λͺ¨λΈμ νκ°νκ³ μ μ₯ν¨.
trainer.evaluate() model.save_pretrained("./fine_tuned_model")
5. μ€μ μ¬μ©
νμΈνλλ λͺ¨λΈμ μ¬μ©νμ¬ μλ‘μ΄ λ°μ΄ν°λ₯Ό μμΈ‘ν¨.
inputs = tokenizer("This is a great movie!", return_tensors="pt") outputs = model(**inputs) predictions = outputs.logits.argmax(dim=-1)
Β
μ°Έκ³ μλ£
- Hugging Faceμ Transformers λ¬Έμ
λκΈ