μ μμΌ κ΅μλμ κ°μλ₯Ό λ€μΌλ©΄μ μ μν λλ§μ μ±λ΄λΉμμ λλ€
ChatGPT, Copilot λ± μ€ν AIλ€μ μ΄λ ν λΆμΌμ νΉνλ AIκ° λͺ¨λ λΆμΌμ λν΄ μ§μμ΄ μμ΄ λ΄κ° μνλ λ΅λ³μ΄ μλμ¬ λλ μλλ° κ·Έ μ μ 보μνκ³ μ νμ¬ ν λΆμΌλ§ λ₯λ¬λ μμΌ νμν λ΅λ³λ§ μ£Όλ AI λͺ¨λΈμ λ§λ€μμ΅λλ€
λ¬Όλ‘ AI λͺ¨λΈμ΄ νμ΅λκ³Ό νμ΅μν¬ λ°μ΄ν°μ μ νμ± λ± μ¬λ¬ μμλ€μ΄ λͺ¨μ¬ λμ μμ€μΌλ‘ μμ±λλ―λ‘ κ°μΈμ΄ ν μ μλ λ₯λ¬λμμλ νκ³κ° μ‘΄μ¬ν©λλ€
μ κ° λ§λ μν©μ λ§μΆ°μ ν€μ΄μ€νμΌλ§μ μΆμ²νλ AIλ μ½ 500κ°μ λ°μ΄ν°λ‘ 10000λ² μ΄μ νμ΅μμΌ°μ΅λλ€
Python λΌμ΄λΈλ¬λ¦¬μΈ Transformersλ₯Ό μ¬μ©νμ¬ νμ΅μμΌ°κ³ Colabμ GPUλ₯Ό μ¬μ©νμ¬ νμ΅μμΌ°μ΅λλ€
myutil λλ ν 리 call_ai_api.py νμΌμ AI_URL λΆλΆμ μμ μ λ‘컬 ipλ‘ μ
λ ₯νμ
μΌ ν©λλ€
λ§μ°¬κ°μ§λ‘ main2.py νμΌμ λΌμ°ν
νΈμ€νΈ ipλ₯Ό μμ μ λ‘컬 ipλ‘ μ
λ ₯νμ
μΌν©λλ€
call_ai_api.py:14 AI_URL = "http://[localhostip]:9999/api/get_data"
main2.py:147 app.run(host='[localhostip]', port=9999, debug=False)
λ°μ΄ν°μ μ μΈν°λ· κ²μ λ° ν¬λ‘€λ§ AIλͺ¨λΈ μ¬μ© νμ¬ κ΅¬μΆνμμ΅λλ€
npm start λ‘ nodejs νλ‘ νΈμλλ₯Ό μ€νμν€κ³
python main2.pyλ‘ λ°±μλλ₯Ό μ€νμν΅λλ€
λ°±μλμ νλ‘ νΈμλλ₯Ό μ€νμν€κ³ http://localhost:5555/ μμ λμνλ μλΉμ€λ₯Ό λ³Ό μ μμ΅λλ€
npm install express --save
npm install express-generator -g --save
npm install fs --save
npm install mysql --save
npm install path --save
npm install body-parser --save
npm i dotenv
npm i cors
npm i nodemon
npm install mobile-detect
npm install request --save
npm install jquery
npm install request-ip --save
npm install jsonwebtoken --save
npm install cookie-parser --save
npm install moment --save
npm install winston --save
npm install winston-daily-rotate-file --save
npm install ip --save
pip install flask
python -m pip install selenium ν¬λ‘€λ§ λΌμ΄λΈλ¬λ¦¬
python -m pip install torch torchvision torchaudio νμ΄ν μΉ λ₯λ¬λ λΌμ΄λΈλ¬λ¦¬
pip install transformers
μ΄κΈ° νλ©΄μ
λλ€ μ±ν
νμμΌλ‘ μμ μ΄ μνλ prompt λ₯Ό μ
λ ₯νμλ©΄ λ©λλ€ ex) "μ€νΌμ€ ν€μ΄ μΆμ²ν΄μ€"
λ΅λ³μ λ‘컬 νκ²½(μ¬μ)μ λ°λΌ μκ°μ°¨κ° μμ΅λλ€
KoGPT λͺ¨λΈ νμ΅: μ¬μ νμ΅λ KoGPT λͺ¨λΈμ λ‘λνκ³ , νμ΅ λ°μ΄ν°μ μ μ¬μ©νμ¬ λͺ¨λΈμ νμ΅μν΅λλ€. μ΄ν λͺ¨λΈμ νκ°νκ³ μ μ₯ν©λλ€.
νμ΅ λ°μ΄ν°μ μμ±:
def preprocess(text):
# μ μ²λ¦¬ ν¨μ μ μ
def write_json(data, file_path):
# JSON νμΌ μμ±
def main(input_xlsx, output_json):
# λ©μΈ ν¨μ μ μ
KoGPT λͺ¨λΈ νμ΅:
# GPUκ° μ¬μ© κ°λ₯ν κ²½μ° μ¬μ©νλλ‘ μ€μ
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
# epoch ν¬κΈ° μ‘°μ : νμ΅λ
EPOCH = 1 # 1 ~ 1000 κ°
# μ μ²λ¦¬λ λ°μ΄ν° μμ±
train_input_ids, train_attention_masks = preprocess(train_df)
val_input_ids, val_attention_masks = preprocess(val_df)
# λͺ¨λΈ νμ΅
model.train()
# λͺ¨λΈ νκ°
model.eval()
Fine Tuning:
# ν ν¬λμ΄μ λ‘λ
tokenizer = PreTrainedTokenizerFast.from_pretrained("skt/kogpt2-base-v2",
bos_token='</s>', eos_token='</s>', unk_token='<unk>',
pad_token='<pad>', mask_token='<mask>')
# μ¬μ νμ΅λ μΈμ΄λͺ¨λΈ(skt/kogpt2-base-v2) λ‘λ
model = GPT2LMHeadModel.from_pretrained('skt/kogpt2-base-v2')
# SFT_dataset ν΄λμ€λ₯Ό μ¬μ©νμ¬ νλ ¨ λ°μ΄ν°μ
κ°μ²΄λ₯Ό μμ±
train_dataset = SFT_dataset(data_path=args.data_path, tokenizer=tokenizer)
# λͺ¨λΈ νλ ¨
trainer = Trainer(
model=model,
args=training_args,
data_collator=data_collator,
train_dataset=train_dataset,
eval_dataset=eval_dataset,
)
# λͺ¨λΈ μΈνΌλ°μ€
generator = pipeline('text-generation', model=sOutput_FineTunning_Result_Directory, tokenizer=tokenizer)
μ΄ μ½λλ λ°μ΄ν° μ μ²λ¦¬, λͺ¨λΈ μ€μ , νμ΅ λ° νκ°, κ·Έλ¦¬κ³ μμ± μμ
μ μννλ ν΅μ¬ λΆλΆμ
λλ€