๐ฅ
HTML-ะบะพะด
- ะะฟัะฑะปะธะบะพะฒะฐะฝะพ: 26 ะผะฐะน 2024
- ๐ป ์ฝ๋
github.com/teddylee777/langch...
๐ค ๋์ค์ฝ๋ ์ฑ๋
/ discord
๐ ๋ญ์ฒด์ธ ํํ ๋ฆฌ์ผ ๋ฌด๋ฃ ์ ์์ฑ (wikidocs)
wikidocs.net/book/14314
โ ๋ญ์ฒด์ธ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ ์ฝ๋์ ์ฅ์(GitHub)
github.com/teddylee777/langch...
โญ๏ธ ๊ฐ์ ํ๋ณด โญ๏ธ
๐ ํ ๋๋ ธํธ X ํจ์คํธ์บ ํผ์ค "ํ ๋๋ ธํธ์ RAG ๋น๋ฒ๋ ธํธ"
๋งํฌ: fastcampus.co.kr/data_online_...
๐๋ฉค๋ฒ์ญ ๊ฐ์ ๋งํฌ
/ @teddynote
[๊ผญ ์ฝ์ด์ฃผ์ธ์!]
- ์ 2900์์ฉ ๋ฉ๋ถ๋๊ธฐ ๋๋ฌธ์ ๊ฐ์ ํ์๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์ต๋๋ค๐ ๐ป
- ๋ฉค๋ฒ์ญ ํ์ ๋ถ๋ค๊ป๋ "1์ฃผ์ผ ์ค์ต์ฝ๋ ์ ๊ณต๊ฐ", "๋ฉค๋ฒ์ญ ํ์ ๋ถ๋ค์ ์ํ ๋ผ์ด๋ธ Q&A(์์ )" ํํ์ ์ ๊ณตํด ๋๋ฆฌ๊ณ ์์ต๋๋ค.
#unsloth #lmstudio
---
๐ "ํ ๋๋ ธํธ์ RAG ๋น๋ฒ๋ ธํธ" ๋ญ์ฒด์ธ ๊ฐ์: fastcampus.co.kr/data_online_...
๐ ๋ญ์ฒด์ธ ํ๊ตญ์ด ํํ ๋ฆฌ์ผ(๋ฌด๋ฃ ์ ์์ฑ ): wikidocs.net/book/14314
๐ ํ ๋๋ ธํธ(๊นํ ๋ธ๋ก๊ทธ) : teddylee777.github.io
๐ป GitHub ์์ค์ฝ๋ ์ ์ฅ์: github.com/teddylee777
๐ฟ LLM ํ๋ก์ ํธ: llm.teddynote.com
ํญ์ ์ข์ ์์ ๋ง๋ค์ด์ฃผ์ ์ ๋ง์ ๋์ ๋ฐ๊ณ ์์ต๋๋ค ํ ๋๋ ใ ใ
์ ๋ฅผ ๋น๋กฏํ์ฌ ๋ค๋ฅธ ๊ตฌ๋ ์ ๋ถ๋ค์ ์ํ์ฌ Timestamp ์์ฑํด๋ณด์์ผ๋ ์ฐธ๊ณ ํ์ธ์:)
โฐ Timestamp
00:00 ํ์ธํ๋ ์๊ฐ
00:07 ์ค๋์ ์์ : ๋ฌธ์ ๊ธฐ๋ฐ ์ง์์๋ต ๋ชจ๋ธ
01:00 ํ์ธํ๋ ํ๋ก์ธ์ค ์ค๋ช
01:25 ๋ฌธ์ ๊ธฐ๋ฐ ์ง์์๋ต ๋ชจ๋ธ ์์ฑ ๊ณผ์
02:00 ๋ฐ์ดํฐ์ ์ ์ค์์ฑ
03:00 QA Pair ๋ฐ์ดํฐ์ ์ ์ฅ ๋ฐฉ์: ๋ก์ปฌ & ํ๊น ํ์ด์ค ํ๋ธ
03:35 ๋ชจ๋ธ ํ๋: ๋ฒ ์ด์ค ๋ชจ๋ธ + LoRA/QLoRA ์ด๋ํฐ
04:44 ํ์ธํ๋ ์๋ฃ๋ ๋ชจ๋ธ ์ ์ฅ & ๋ณํ
05:00 ์ค์ ํ์ธํ๋๋ ๋ชจ๋ธ ์์: TeddyNote
05:55 ๋ฐ์ดํฐ์ ์์ฑ ์ฝ๋ ์ค๋ช
07:17 JSONL ํ์์ผ๋ก ๋ฐ์ดํฐ์ ์ ์ฅ
07:30 ํ๊น ํ์ด์ค ๋ฐ์ดํฐ์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํ์ฉ
07:46 ๋ฐ์ดํฐ์ ์ ๋ก๋ ์ค๋น
08:20 ํ ํฐ ๋ฐ๊ธ
08:50 ํ์ธํ๋ ์ฝ๋ ์ค๋ช
09:20 ์ธ์ฌ๋ก์ค(Unsloth) ์๊ฐ
10:10 ๋ฒ ์ด์ค ๋ชจ๋ธ ์ ํ: ๋ผ๋ง 3 Open Ko 8B
11:09 ํ์ธํ๋ ์คํ
12:14 ์ถ๋ก ์คํ
13:00 ๋ชจ๋ธ ์ ์ฅ
13:50 ํ๊น ํ์ด์ค ํ๋ธ์ ์ ๋ก๋
14:00 GGUF ํ์ผ ํ์ ๋ณํ
15:20 LM Studio์์ ๋ชจ๋ธ ํ์ฉ
16:00 ํ ์คํธ ์ง๋ฌธ
16:40 ํ์ธํ๋ ์ค์ต ์์ฝ
17:00 ํ์ธํ๋ ์ฃผ์์ฌํญ
17:30 ๋ง๋ฌด๋ฆฌ
๊ฐ์ฌํด์ฉ~~~ ๐
์์คํ ์ง์ ๊ณต์ ๊ฐ์ฌํฉ๋๋ค
์์ฒญํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค๐
์ข์ ๋ด์ฉ ๊ณต์ ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
์์ฒญํด ์ฃผ์ ์ ๊ฐ์ฌํด์๐
๊ฐ์ ์ ๋ค์์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
์์ฒญํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค๐
LoRA ๋ง์ฐํ ๋ถ๋ด์ค๋ฌ์ด ์์ ์ผ๊ฑฐ๋ผ ์๊ฐํ๋๋ฐ.. ์. ๋๋ฌด ์ข์ ๊ฐ์ ์์ต๋๋ค~
๊ฐ์ฌํฉ๋๋ค!!
ํ๊น ํ์ด์ค๊ฐ PEFT ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ์๋นํ ์์ ์ด ๊ฐ๋จํด ์ง๊ฒ ๊ฐ์ต๋๋ค.
๊ฐ์ฌํฉ๋๋ค ^^
๋๋๋ญ๋๋ ใ ใ ๊ฐ์ฌํฉ๋๋ค
ํ๋ฌ๋์ gguf ๋ณํ๋๋ฌธ์ ํด๋งธ๋๋ฐ.. ๋๋ฌด ๊ฐ์ฌํฉ๋๋ค!!โคโค
๊ฐ์ฌํฉ๋๋ค~^^
๊ฐ์ฌํฉ๋๋ค.
์์ด์ฟ ํ์์.. ๊ฐ์ฌํฉ๋๋ค๐คค
์๋ ํ์ธ์! ์์์ ๋ณด๋ฉด์ ๊ถ๊ธํ ๋ถ๋ถ์ด ์์ด์ ์ง๋ฌธ๋๋ฆฝ๋๋ค. 11:34 ์์ instruction, output์ ๋งคํ์ ํ์ง๋ง input์ ๊ฐ์ ๋ฃ์ ๊ฒฝ์ฐ์๋ ์ด๋ค ๋ฐฉ์์ผ๋ก ์งํํด์ผ ํ๋์? alphacaprompt์๋ instruction, response ์ด๋ ๊ฒ๋ง ์๋๋ฐ Context๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์งํํ๋์..?
๋ค ๋ง์ต๋๋ค context ๋ฅผ ์ถ๊ฐํ๋ค๊ณ ์ดํดํ์ ๋ ์ข์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ต๋ณ์ ์ฐธ๊ณ ํ ์ ์๋ ์ด์ ๋ฌธ์ฅ์ ์ถ๊ฐํ๋ ๊ฐ๋ ์ ๋๋ค^^
@@teddynote ํญ์ ์ข์ ๊ฐ์ ์ฌ๋ ค์ฃผ์๊ณ ๋ต๋ณํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค!! ํน์ context๋ฅผ ์ถ๊ฐํ๋๊ฒ alphaca prompt์ ํํ๊ฐ instruction, response ๋ง ์กด์ฌํ๋๋ฐ context๋ฅผ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๊น์? ์๋๋ฉด instruction์ instruction + ' ' + context๋ฅผ ํจ๊ป ๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ผ๋ก ์งํํด์ผ ํ๋์? ์ ๊ฐ ํด๋ดค๋๋ฐ ์ถ๋ก ๋จ๊ณ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํด์ ํ์ต๋ฐ์ดํฐ ์ ์ฒ๋ฆฌ ๋จ๊ณ์์ ์ค์ํ๊ฒ ์๋์ง ๊ถ๊ธํด์ ์ฌ์ญค๋ด ๋๋ค! ๊ฐ์ฌํฉ๋๋ค
aya๋ฅผ ollama์ ์ฌ๋ ค ๋ณด๋ ค๊ณ ๊ตฌํ๋ gguf๊ฐ ollama์ ์ฌ๋ฆด๋ ๊ณ์ ์ค๋ฅ๊ฐ ๋์ ์ฌ์ฉ์ ๋ชปํด๋ณด๊ณ ์์๋๋ฐ, ์ด ๋ฐฉ๋ฒ์ผ๋ก ์ง์ ๋ณ๊ฒฝํด๋ด์ผ๊ฒ ๋ค์~~^^
ํญ์ ๊ฐ์ฌํฉ๋๋ค~:)
์์ฆ aya๊ฐ ๋์ธ ์ด๋๋ผ๊ณ ์ ใ ใ
๋ค์๊ณผ ๊ฐ์ด ํ๋ ์ ๋ฉ๋๋ค.
print("saving the GGUF model...")
quantization_method = "q8_0" # "f16" "q8_0" "q4_k_m" "q5_k_m"
peft_model.save_pretrained_gguf(
"gguf",
tokenizer=tokenizer,
quantization_method=quantization_method,
)
print("Try with ollama!")
'''
1) copy a reference Model file and moify the gguf file in the first line
2) ollama create -f Modelfile
3) ollama run
'''
์๋ ํ์ธ์ ํด๋น ์์๋ณด๋ฉด์ ํ์ธํ๋ ๊ณต๋ถ์ค์ธ๋ฐ ์ง๋ฌธ์ด์์ด์ ๋๊ธ ๋จ๊น๋๋ค.
์ํ๋ ๋ฐ์ดํฐ์ ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฒ ์ด์ค ๋ชจ๋ธ๊ณผ ๋ณํฉํ์ฌ ํ์ธํ๋ ๋ชจ๋ธ์ ์์ฑํ๊ฒ ๋๋ฉด, ๋ต๋ณ์ด ํ์ต์ํจ ๋ฐ์ดํฐ์ ๋ง์ด ์น์ฐ์น ๋๋ต์ ํ๊ฒ๋ฉ๋๋ค.
๊ธฐ์กด ๋ฒ ์ด์ค ๋ชจ๋ธ๋ก ํ ์คํธ ํด๋ดค์๋ ์ ์์ ์ผ๋ก ํ๋ ๋ต๋ณ๋ ํ์ธํ๋ ํ์๋ ์ ๊ฐ ํ์ต์ํจ ๋ฐ์ดํฐ์ ๊ด๋ จ๋ ๋๋ต๋ง ํ๊ฒ๋ฉ๋๋ค..
์ ๊ฐ ๊ธฐ๋ํ๋ ํ์ธํ๋ ๊ฒฐ๊ณผ๋ฌผ์ ๊ธฐ์กด ๋ฒ ์ด์ค ๋ชจ๋ธ์ด ๊ฐ์ง๊ณ ์๋ ๋ฐ์ดํฐ + ์ผ๋ถ ๋ด๊ฐ ํ์ต์ํจ ๋ฐ์ดํฐ ์ธ๋ฐ,
์ ๊ฐ ์๋ชป์ดํดํ๊ณ ์์๋๊ฑด์ง ์์์ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ ๊ฐ ํ์ต์ํจ ๋ฐ์ดํฐ์ ์น์ฐ์น ๊ฒฐ๊ณผ๋ฌผ๋ง ๋ผ ์ ์๋๊ฑด์ง ..
์๋๋ฉด ์ ๊ฐ ํ์ธํ๋์ ์๋ชปํ๊ฑด์ง.... ๋ต๋ณ์ด ๊ฐ๋ฅํ ๊น์...
๋ง์ต๋๋ค ๊ทน๋จ์ ์ผ๋ก ์์๋ฅผ ๋ณด์ฌ๋๋ฆฌ๋ ค๊ณ ์์ ๋ฐ์ดํฐ์ ์ผ๋ก โ๊ณผ์ ํฉโ ์์ผ์ ๊ทธ๋ ๊ตฌ์~ ์๋ ์ ๋๋ก ํ์๋ ค๋ฉด ๋ฐ์ดํฐ์ ๋ณดํต 2~3๋ง๊ฑด ์ ๋( ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ด์...) ๊ทธ๋ฆฌ๊ณ rank ๋ alpha ๋ ๋ ์๊ฒ ์ฃผ์ ์ ๋ชจ๋ธ์ด ํ ๋ง๋๋ก ๋ง์ด ํ์ด์ง์ง ์๋๋ก ํด์ฃผ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋น์ฉ๊ณผ ํ์ต์๊ฐ์ด ๋ง์ด ๋๋ ์ด ์์์ ๋ฏธ๋๋ก ์งํํ์ต๋๋ค! ์ฐธ๊ณ ํด ์ฃผ์ญ์ผ^^
์์คํ ๊ฐ์ ๊ฐ์ฌ ํฉ๋๋ค. ์ด๋ฒ ๊ฐ์๋ gpu vram์ด ์ผ๋ง๋ ํ์ ํ๋์?
๋๋ต 15~20G ์ฌ์ด์ ๋๋ค! ๊ฐ์ฌํฉ๋๋ค^^
์ข์ ์์ ๊ฐ์ฌํฉ๋๋ค! ๊ทธ๋ฐ๋ฐ ํน์ torch๋ฅผ ์ฌ์ฉํ์๋ ์ด์ ๊ฐ ์์ผ์ค๊น์? ์ด๋ณด์ ์ธ ์ง๋ฌธ์ธ ๊ฒ ๊ฐ๊ธด ํ๋ฐ ๋ค๋ฅธ ํ์ธํ๋ ์์๋ค๋ ๋๋ถ๋ถ torch๋ฅผ ์ฌ์ฉํ๋ ๊ฒ ๊ฐ์์ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์ด๋ฏธ ์ง๋ฌธ์ ๋ต์ด ์์ต๋๋ค~ ๋๋ถ๋ถ์ ํ์ธํ๋ ์ฝ๋๊ฐ torch ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์ด ์๊ณ ์ฐธ๊ณ ํ ์ ์๋ ์์ ๊ฐ ๋ง์ต๋๋ค^^ torch๋ก integration ๋ ํธํ๊ตฌ์!
์ผ๋จ ์ค์ง์ ์ผ๋ก Huggingface๋ PyTorch ๊ธฐ๋ฐ์ ๊ฐ๊น๋ค๊ณ ๋ณด์๋๊ฒ ์ข์๋๋ค.
๊ฒฝ๋ก๋ ์ข์ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค. ํญ์ ์ ๋ณด๊ณ ์์ต๋๋ค :)
ํน์ ํ๋ ์ง๋ฌธํด๋ ๋ ๊น์?
GPT๊ฐ ํ์ธํ๋ํ ๋, ๋ด๋ถ์ ์ผ๋ก ๋ค์ ํ ํฐ์ ์์ธกํ๋ฉด์ ํ์ต์ ํ๋ค๊ณ ์๊ณ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฌ์ฉํ์ ์ํ์นด ํ๋กฌํํธ์์ ###Instruction ๋ถ๋ถ์ ๊ฐ์ฅ ์ฒซ ํ ํฐ๋ถํฐ ์ฐจ๋ก๋๋ก ์์ธกํ๋ฉฐ ํ์ต์ ํ๋ ๊ฒ์ธ๊ฐ์?
์๋๋ฉด ### Instruction ๊น์ง๋ ํ๊บผ๋ฒ์ input์ผ๋ก ๋ฃ๊ณ , ### Response ๋ถ๋ถ์ ์ฒซ ํ ํฐ๋ถํฐ ์ฐจ๋ก๋๋ก ์์ธกํ๋ฉฐ ํ์ต์ ํ๋ ๊ฒ์ผ๊น์?
๋ง์ฝ ํ์๋ผ๋ฉด, ์ฌ์ฉํ์ ๋ฒ ์ด์ค ๋ชจ๋ธ(ex. Llama 3)์ด ์ด๋๊น์ง๊ฐ Instruction์ด๊ณ , ์ด๋์๋ถํฐ๊ฐ Response์ธ์ง ์์์ผ ๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฆ, ๊ฐ ๋ฒ ์ด์ค ๋ชจ๋ธ์ ๋ง๋ ํน์ ํ ํ๋กฌํํธ๊ฐ ์กด์ฌํ๋ ๊ฒ์ธ๊ฐ์?
๊ฐ์ฌํฉ๋๋ค.
###instruction ~ ###Response ๊น์ง๋ ์ ๋ ฅ์ด๊ณ ์. Response: ๋ค์๋ถํฐ ์ ๋ถ ์์ธกํ ๊ฒฐ๊ณผ ์ ๋๋ค. end of text ์ ๊ฐ์ ์คํ์ ํ ํฐ์ด ์กด์ฌํ๋ ์ด์ ๊ฐ gpt๊ฐ ์ด๋์ ๋์ ๋ผ์ง ์๋ ค์ฃผ๋ ๊ฑฐ๋ผ๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค!
@@teddynote
๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์๋ฅผ ๋ค์ด, RAG์ฉ์ผ๋ก ํ์ธํ๋์ ์งํํ ๋ ๊ด๋ จ chunks๋ฅผ query์ ํจ๊ป ๋ฃ์ด์ฃผ๊ธฐ ๋๋ฌธ์ ##instruction ๋ถ๋ถ์ด ๊ต์ฅํ ๊ธธ์ด์งํ ๋ฐ, ์ด๊ฒ๋ค๋ ํ๋ํ๋ ์์ธกํ๋ฉด์ response๊น์ง ์์ธกํ๋ค๋ ๋ป์ด๊ฒ ๊ตฐ์?
base model์ instruct ํ๋์ ํ ๋ ํ ํ๋ฆฟ์ด ๋ค์ํ๊ฒ ์กด์ฌํ ์ ์๋๋ฐ ๋ง์ฝ ๋ด๊ฐ instruct ๋ชจ๋ธ์ ์ฒ์ ๋ง๋ ๋ค๋ฉด ํธํ ํ ํ๋ฆฟ์ ์จ๋ ๋๊ธด ํ๋๋ฐ์. chatgpt์ฒ๋ผ ๋ฉํฐํด ๋ํ ํ์์ ์ ํฉํ ํ ํ๋ฆฟ ํ์์ด ๋ ๋ณ๋๋ก ์๊ณ ์(์ฌ๋ฌ ๋ํ ์ฐ๋ ๋๋ฅผ ํ์ตํ๋) chatml ํ ํ๋ฆฟ์ด๋ผ๋ ์ฑํ ํ์์ ํ ํ๋ฆฟ๋ ์๊ณ ๋ค์ํ๊ฒ ์์ต๋๋ค.
@@user-es9zc9kh8g ๋ค ์ง๊ธ์ chatgpt๋ ์ฒ์๋ถํฐ ๋๊น์ง ๋ชจ๋ ์์ธกํ๋ ๊ฒ์ฒ๋ผ์. ๋ง์ต๋๋ค. ์ถ๋ ฅ๋๋ ๋ชจ๋ ํ ํฐ์ ๋ชจ๋ ์์ธก ๊ฐ์ ๋๋ค
@@teddynote
๋ค ์ดํดํ์ต๋๋ค. ํญ์ ์ง์ ์ ํ์ ํ์จ ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค :)
ํ ๋๋ ธํธ๋ ํญ์ ์ข์ ๊ฐ์ ๊ฐ์ฌํฉ๋๋ค.
ํ ๋๋ ธํธ๋ ๋ฐ๋ผ์ gguf ๋ณํ๊น์ง ์ ๋ฐ๋ผํด๋ณด์์ต๋๋ค.
๋ณํ๋ ๋ชจ๋ธ์ gguf๋ก ollama ์ ์ฌ๋ฆฌ๋ ค๋๊น template์ ์ด๋ป๊ฒ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ๋๋ผ๊ตฌ์. (llama3 ๊ณต์ template์ผ๋ก ํ๋ ์ ์๋๋๋ผ๊ตฌ์!)
ํน์ gguf ๋ณํ๋ ํ์ผ์ ollama ์ ์ฌ๋ฆด ๋ template์ ์ด๋ป๊ฒ ํ๋ฉด ์ข์์ง ์์๋ ๋ถ ๊ณ์ค๊น์?
ํ ํ๋ฆฟ์ alpaca ํ ํ๋ฆฟ์ผ๋ก ์ ๋ก๋ ํ์๋ฉด ๋ฉ๋๋ค^^
16:07 ๋ถ๋ถ์์ ์ง๊ธ๊น์ง ํ์ต๋ฐ ๋ฒ ์ด์ค๋ชจ๋ธ์ด ์ ๋ถ ๋ผ๋ง3์ธ๋ฐ ํ๋ฆฌ์ ์ ์ํ์นด๋ก ํด์ผํ๋ ์ด์ ๊ฐ ๋ฌด์์ธ๊ฐ์?? ์ค๋ช ๋ ์ํ์นด๋ก ์ฌ์ฉํ์ ์ผ ํ๋ค๊ณ ํ์๋๋ฐ,.
์ํ์นด๋ก ํ๋กฌํํธ ํ ํ๋ฆฟ ํ์ต์ ํ๊ธฐ ๋๋ฌธ์ ์ถ๋ก ๋ ๋์ผํ ํ๋กฌํํธ ํ ํ๋ฆฟ์ ์ฌ์ฉํด์ผ ์ฌ๋ฐ๋ฅด๊ฒ ๋ต๋ณํฉ๋๋ค~
์ ์ด์ ํ์ตํ ๋์ ํ ํ๋ฆฟ์ ์์ ๋กญ๊ฒ ์ ํ์ด ๊ฐ๋ฅํฉ๋๋ค ๋์ ์ถ๋ก ํ ๋์ ํ ํ๋ฆฟ๊ณผ ํต์ผ์ ํด์ผํฉ๋๋ค
๋งฅ์์ cuda๊ฐ ์๋๋๋ผ๋ mps๋ก pytorch ๊ฐ ๋๋๋ฐ ๋ญ๊ฐ ํ์ธํ๋์์ mps๋ก ํ ๋ คํ๋ฉดํธํ์ฑ๋ฌธ์ ์ธ์ง ์๋ฌ์ฝ๋๊ฐ ์ฐ์์ ๋จ๋๋ฐ ํน์ ๋ฐฉ๋ฒ์ด ์๋์? m4๋ ๋์ค๊ณ ํตํฉ๋ฉ๋ชจ๋ฆฌ๋ผ 32gb ๋ชจ๋ธ์ฐ๋ฉด ๊ทธ๋ํฝ์์๋ ์ข์์ฑ๋ฅ ๋์ฌ๊ฑฐ๊ฐ์์ ํด๋์ฉ ์ค์์ ๊ด์ฐฎ๋ค ์๊ฐํด์ ๋งฅ์ผ๋ก ์ค๋นํ๊ณ ์์ต๋๋ค
ํ์ธํ๋์์๋ mps ๋ฅผ ๋ฏธ์ง์ํฉ๋๋ค ใ ใ ์ฟ ๋ค๊ฐ ํ์ํด์ฉ~~ ์ฆ ๋งฅ์์๋ ํ์ธํ๋ ๋ถ๊ฐํฉ๋๋ค. torch ๋ ๊ฐ๋ฅํด์~
์๋ ํ์ธ์ ์ง๋๊ฐ๋ ๊ทธ๋ฅ ์ง์ฅ์ธ์ ๋๋ค.
์ ๊ฐ ๋น์ทํ ์๊ฐ์ผ๋ก
Gpts๋ฅผ ๋ง๋ค๊ณ
ํ์ฌ ๋ณด๊ณ ๊ท์ , ๋ณด๊ณ ์์ํ, ๋งค๋ด์ผ ๋ฑ์ pdf๋ก ์ ๋ก๋์ํค๊ณ
์ ๋ก๋๋ ํ์ผ์ ๊ทผ๊ฑฐํด์ ๋ต๋ณํ๋ผ๊ณ ํ๋๋ฐ
ํ ๋ฃจ์ง๋ค์ด์ ๋ ๋ง๊ณ
๋ณด๊ณ ์์์ ๋ง์ง์๊ฒ ๋๋ตํ ๋๋๋ง๊ณ
์ถ์ฒ๋ฅผ ๋ฌผ์ด๋ณด๋ ์๋ฑํํ์ด์ง๋ฅผ ๋๋ตํ๋๊ฒฝ์ฐ๋ ์๋๋ผ๊ตฌ์
๊ทธ๋์ ํฌ๊ธฐํ๊ณ ์์๋๋ฐ
์ด ๋ฐฉ์์ ์ ๊ฐ์ด ๋น๊ฐ๋ฐ์๋ ์ ๊ทผ์ด๊ฐ๋ฅํ ๊น์?
GPTs ๋ ๋ฌธ์ ๊ธฐ๋ฐ QA์ ํ๊ณ๊ฐ ์์ต๋๋ค ใ ๊ทธ๋์ ๋ญ์ฒด์ธ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ ์ง์ ๊ตฌํํด์ผ ์ ํํ ์ถ์ฒ์ ๋ต๋ณ์ ๋ฐ์ผ์ค ์ ์๊ตฌ์~^^
์ด ์์๋ง์ผ๋ก๋ ์์ฑํ ๊ฐ๋ฐ์ด ๋์ค๊ธฐ๋ ์ด๋ ต๊ณ ์ ๋ฐ์ ์ธ RAG ์ ๋ํ ๊ณต๋ถ๊ฐ ์กฐ๊ธ ํ์ํ๋ฐ์. ์ ํ๋ธ์ ์ ๋ก๋๋ ๋ค๋ฅธ ์์ ๊ฐ์ด ๋ณด์๋ฉด์ ๊ณต๋ถํด ๋ณด์๋ ๊ฒ์ ์ถ์ฒ ๋๋ฆฌ๊ณ ์. ๋จ๊ธฐ๊ฐ์ ์๋์ง๋ง ์กฐ๊ธ๋ง ํฌ์ํ์ ๋ ์ฑ๊ณผ๊ฐ ๋์ค๊ป๋๋ค!
@@teddynote ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค
๊ฐ์ง๊ณ ์๋ ๋ฌธ์์์ ์ง๋ฌธ๊ณผ ๋ต๋ณ์ ์์ฑํด ํ์ธํ๋์ ์งํํด ๋ณด๋ ค๊ณ ํ๋๋ฐ
๊ฐ์ง๊ณ ์๋ ๋ฌธ์์ ์ธ์ด ๋น์จ์ด ์์ด 70% ํ๊ตญ์ด 30%์ผ ๋๋ผ๋ฉด ํ๊ตญ์ด๋ก ํ์ธํ๋๋ ๋ชจ๋ธ์ ์ฌ์ฉํ๋ ๊ฒ ๋ง์๊น์?
ํ๊ตญ์ด๊ฐ ํฌํจ๋์ด ์๋ค๋ฉด ํ๊ตญ์ด ๋ชจ๋ธ์ ์ฌ์ฉํ์๋ ๊ฒ์ด ๋ ๋์ ๋ณด์ ๋๋ค^^
์๋ ํ์ธ์! ํญ์ ์์ง์ ์ง์ ๊ฐ์ฌํฉ๋๋ค. ์ ๊ฐ flash-attn ์ค์น์ ์ ๋ฅผ ๋จน๊ณ ์๋๋ฐ ํน์ window ๋ก์ปฌ์์ ํด๋น ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ตฌ์ถํด๋ณด์ ๊ฒฝํ์ด ์์ผ์ ๊ฐ์?
๊ฒฐ๊ตญ ์ด์ฐ์ ์ฐ ๋ฒ์ ๋ง์ถฐ ์ค์นํ๋๋ฐ, flash-attn ๋จ๋ ์ค์น์ ๊ฑธ๋ฆฐ ์๊ฐ๋ง 1์๊ฐ ๊ฑธ๋ ธ๋ ๊ฒ ๊ฐ์์. ์ค์นํ ๋ ์ฃผ์ํด์ผ ํ๋ ๋ถ๋ถ์ด ์๋์? cuda๊น์ง ๋์๊ฐ๋ ๊ฑฐ ํ์ธํ๊ณ ์ค์นํ๋๋ฐ ์ ์ด๋ฆฌ ์ค๋๊ฑธ๋ฆฐ๊ฑธ๊น์ ๐๐
unsloth์ triton์ window์์ ์ค์น๊ฐ ์๋๋์? MVSC๋ WSL์ ์ฌ์ฉํ๋ผ๋ ๊ธ์ด ์๋๋ฐ ์กฐ์ธ์ด ํ์ํด์..
์ ๊ฐ flash-attn ์ ์ฌ์ฉํด๋ณด์ง ์์์์ ๋์๋๋ฆฌ์ง ๋ชปํ ๊ฒ ๊ฐ์ต๋๋ค ใ ์ฃ์กํฉ๋๋ค ใ
@@teddynote ํญ์ ๋์ ๋ง์ด ๋ฐ๊ณ ์์ต๋๋ค ๊ฐ์ฌํฉ๋๋ค :)
@@user-mn1yi2xm6f ์ด๋ฒ์๋ ๋์์ ๋ชป ๋๋ ธ๋ค์ ใ
ํ ๋๋ ธํธ ์์๋ค์ ๋ก์ปฌ๋ก ์คํํ๋ ค๋ฉด ์ด๋์ ๋ ์ฌ์์ด ๋์ด์ผ ํ๋์?
๋ก์ปฌ ๋ชจ๋ธ ๊ตฌ๋์ ์ํด์๋ GPU ๊ฐ ํ์ํ์ง๋ง GPT4, Claude API ๋ฅผ ์ฌ์ฉํ์๋ ๊ฒฝ์ฐ ๊ฐ๋ฒผ์ด ๋ ธํธ๋ถ์ผ๋ก๋ ์ถฉ๋ถํฉ๋๋ค!
์๋ ํ์ธ์ ํ ๋๋ ํ ๋๋ ์ ํ๋ธ ์์ ์ ๋ณด๊ณ ์์ต๋๋ค.
๋ค๋ฆ์ด ์๋๋ผ ํ ๋๋ github์์ ํ์ธํ๋ ํ๋ ์ฝ๋๋ก ๊ฐ์ธ ์ปค์คํ ๋ฐ์ดํฐ์ ์ ํ์ธํ๋ํ๋๋ฐ
๊ฒฐ
ํ์ต์ํจ ๋ฐ์ดํฐ๋ก ๊ฒฐ๊ณผ๊ฐ ๋์ค์ง ์๋๋ฐ...ํน์ ํ์ธํ๋์ ์ฌ๋ฌ๋ฒ ํด์ผํ๋ ๊ฑธ๊น์?
๊ฒฐ๊ณผ๊ฐ ์๋์จ๋ค๋ ๋ถ๋ถ์ ๋ํด์ ๊ตฌ์ฒด์ ์ผ๋ก ๋ง์ํด ์ฃผ์๋ฉด ๋ต๋ณ ๋๋ฆด ์ ์์ ๊ฒ ๊ฐ์์~
a๋ ๋ฐ๋ณด๋ค ๋ผ๊ณ ํ์ต์์ผฐ๋๋ฐ
a๋ ์ํ๋ฒณ์ผ๋ก ์ด์ฉ๊ตฌ์ ์ฉ๊ตฌ ์ด๋ฐ์์ผ๋ก ๋์ต๋๋ค.
์ฝ๋๋ github์ฐธ๊ณ ํ๊ณ
gptํํ ๊ณต์ ์ฃผ์ ์ฝ๋ ๊ธฐ๋ฐ์ผ๋ก ํ๊น ํ์ด์ค์์ ๋ฐ์ดํฐ์ ๋ค์ด๋ฐ์์ ๋ก์ปฌ์ ์ ์ฅํ๋ค์ ๋ค์ด๋ฐ์ ๋ฐ์ดํฐ์ ์ ๋ถ๋ฌ์ ํ์ธํ๋ํ๊ฒ ํ์ต๋๋ค..
์๋ ํ์ธ์
ํด๋น ๋ชจ๋ธ์ ollama ์ ์ฌ๋ฆฌ๊ธฐ ์ํด์ ์ฌ์ฉํด์ผํ Modelfile ์ ์ด๋ค๊ฑธ ์ฐธ๊ณ ํ๋ฉด ๋ ๊น์?
alpaca ์ ๋๋ค^^
A few comments in following the code.
1. an error with mismatch of peft version and unsloth, please give us the versions for the packages. ( I manually sloved the issues. No module named 'peft.tuners.lora.layer'; 'peft.tuners.lora' is not a package) (my system uses unsloth 2.0 and peft 0.5.0)
2. model name should be full path (model_name = "unsloth/llama-3-8b-bnb-4bit", not model_name="llama-3-8b-bnb-4bit")
1. you can find easy install commands @ link below
github.com/unslothai/unsloth/tree/main#installation-instructions
It's very hard to specify the exact version of each library due to dependencies (CUDA, Python, Torch, etc, ...) try using mamba if you haven't tried it yet
2. thx for letting me know. I have updated the .ipynb file
@@teddynote the dependent packages are quite system-dependent.
colab-new = [
"tyro",
"transformers>=4.38.2",
"datasets>=2.16.0",
"sentencepiece",
"tqdm",
"psutil",
"wheel>=0.42.0",
"numpy",
"protobuf
Colab์์ ํ์ธํ๋ ์ค์ ๋ชจ๋ธ ํ๋ จํ๊ธฐ > SFTTrainer ์ฌ์ฉ ๊ตฌ๊ฐ์์ ์๋์๋ฌ๊ฐ ๋ฐ์ํ๋๋ฐ ์์ธ๊ณผ ํด๊ฒฐ๋ฐฉ๋ฒ ์ ์ ์์๊น์..ใ ใ
-> NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to() when moving module from meta to a different device.
ํน์ ์ฝ๋ฉ์ GPU ๋ฅผ A100์ผ๋ก ์ค์ ์ด ๋์ด ์๋์ง ํ ๋ฒ ์ฒดํฌํด ์ฃผ์ธ์~ ์์ ๊ฑฐ๋ ์๋ฌ๋๋๋ผ๊ตฌ์~
@@teddynote ์ ๋ ์์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ๋ณต๋์ด์, Colab-Pro ๋ก ๋ณ๊ฒฝ ํ ์ฌ์ฉํ๋๋ฐ, ์ด์ํ๊ฒ ์๊พธ L4 ๋ก ๋ณ๊ฒฝ๋๊ฑฐ๋ A100 ์ ํ์ด ์๋์ง ์์์ต๋๋ค. ใ ใ
๋ ๋์ ๊ฒฐ์ฌ plan ์ ์ฌ์ฉํด์ผ ํ ๊น์ ใ ใ ? ์๋๋ฉด, Colab ๋ง๊ณ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์ ํ์ธ ํ๋์ ํ ์ ์๋์ง ๊ถ๊ธํฉ๋๋ค ^^
Colab ์ ๋ฃ ๊ฒฐ์ฌ ์๋น์ค ์ง์ด ๋๋ฌด ๋ถ์กฑํฉ๋๋ค.
RAG๋ ํ์ธ ํ๋ ์ค์ ๊ฐ๊ฐ ์ด๋ค ์ํฉ์์ ์ฐ๋๊ฒ ๋ ์ข์ ๋ฐฉํฅ์ผ๊น์ค?
์์ฃผ ํ์๋ ์ง๋ฌธ์ธ๋ฐ์! ์ฝ๊ฒ ๋งํด ์์ฃผ ๋ณ๊ฒฝ๋๋ ์ ๋ณด๋ RAG ๊ณ ์ ๋ ๋ต๋ณ ํ์์ ํ์ธํ๋์ด ์ ์ ํด ๋ณด์ ๋๋ค!! ๊ทธ๋ฆฌ๊ณ ๊ต์ฅํ ๊ธธ๊ฒ ๋งค๋ฒ ํ๋กฌํํธ๋ฅผ ๋ฃ์ด์ค์ผ ํ๋ ๊ฒฝ์ฐ์๋ ํ์ธํ๋์ ํ๋ฉด ์ ๋ ฅ์ผ๋ก ๋ฃ๋ ์ปจํ ์คํธ๋ฅผ ์ค์ฌ๋ณผ ์ ์๊ณ ์. RAG๋ก๋ ํ ๋ฃจ์๋ค์ด์ ์ ์ข ์ค์ด๋๋ฐ ์ฌ์ฉํ์ค ์ ์์ด์! ๋น๊ตํ๋ ์ํฐํด์ด๋ ๋ธ๋ก๊ทธ๋ ๊ฝค ๋ง์ผ๋ ํ ๋ฒ ์ดํด๋ณด์๋ ๊ฒ๋ ์ข์ต๋๋ค^^
@@teddynote ๋๋ฌด ์น์ ํ ๋ต๋ณ ๊ฐ์ฌ๋๋ฆฝ๋๋ค ใ ๊ฐ์ ํ์ฌ์ ์ ์ฒญํด์ ํ์ฌ๊ณ์ ์ผ๋ก ๊ผญ ๋ณผ๊ฒ์๐
@@user-xc9rj8or9q ๊ฐ์ฌํฉ๋๋ค~!!!
๋ค๋ฅธ ๊ฑด ๋ค ์ ๋๋๋ฐ (merge ํ ํ์ ๋ค์ ๋ก๋ฉ, gguf ํ์ผ ์ ์ฅ ํ ollma์์ ์ฌ์ฉ ๋ฑ์ ์๋ฉ๋๋ค.) , Lora adaptor ๋ง ์ ์ฅํ ํ์ ๋ค์ ๋ก๋ฉํ์ฌ ์คํํ ๋ ์ฌ๋ฌ๊ฐ์ง ๋ฌธ์ ๊ฐ ์๊ธฐ๋๋ฐ ํน์ ๋์ํ๋ ์ฝ๋๋ฅผ ๊ณต์ ํด ์ค ์ ์์๊น์? ์ฌ์ฉํ ์ฝ๋๋
์ฐ์ ์ ์ฅ์ ๋ก์ปฌ์ ๋ค์๊ณผ ๊ฐ์ด ํ์๊ตฌ์.
adaptor_model_path = "llama-3-8b-lora"
peft_model.save_pretrained(adaptor_model_path)
์ดํ์ ๋ค์ ๋๊ฐ์ง ๋ฐฉ์์ผ๋ก ๋ก๋ฉ์ ํ์ต๋๋ค. ๋ ๊ฐ์ง๋ค ๋ฌธ์ ๋ฅผ ๋ฐ์ํฉ๋๋ค.
from peft import PeftConfig, PeftModel
from transformers import AutoModelForCausalLM, AutoTokenizer
if True:
base_model = AutoModelForCausalLM.from_pretrained(base_model_name) # not working when generated
peft_model = PeftModel.from_pretrained(base_model, adaptor_model_path)
else:
from peft import AutoPeftModelForCausalLM
peft_model = AutoPeftModelForCausalLM.from_pretrained(adaptor_model_path,
load_in_4bit=True) # 4bit needed for GPU VRAM
๊ทธ๋ฆฌ๊ณ ๋์ ์ ๊ณตํ ์ฝ๋๋ฅผ ํจ์ํ ํ์ฌ ํ ์คํธ ํฉ๋๋ค.
test(alpaca_prompt, peft_model, tokenizer)๊ทธ
์ด ๋ ๊ฐ์ง ๊ฒฝ์ฐ ๋ชจ๋ ๋ค์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ณ auto-gptq ๋ 0.4.2 ๋ก ์ ๋ฐ์ดํธ ํ๊ตฌ์ ๊ฒฐ๊ณผ๋ ๋ง์ฐฌ๊ฐ์ง ์ ๋๋ค.
File "/home/gpt/anaconda3/envs/text2sql/lib/python3.11/site-packages/unsloth/models/llama.py", line 309, in LlamaAttention_fast_forward
Q, K, V = self.apply_qkv(self, hidden_states)
^^^^^^^^^^^^^^
File "/home/gpt/anaconda3/envs/text2sql/lib/python3.11/site-packages/torch/nn/modules/module.py", line 1695, in __getattr__
raise AttributeError(f"'{type(self).__name__}' object has no attribute '{name}'")
AttributeError: 'LlamaSdpaAttention' object has no attribute 'apply_qkv'
'''
์ข ํน์ดํ ์ ์ ์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์ ๊ฒฝ์ฐ base_model์ ์ด์ ์ ๋ก๋ฉํ๋ ๊ฒ์ ๊ทธ๋๋ก ์ฌ์ฉํ๋ฉด ๋์์ ํ๋๋ฐ. ์ด๊ฒ๊ฑด ์ฌ์ค์ ์ฌ์ฉํ ์์๋ ์๋๋ฆฌ์ค๊ธฐ ๋๋ฌธ์ ์๋ฏธ๊ฐ ์๊ตฌ์. ๋์ผํ๊ฒ ๋ค์ ๋ก๋ฉ์ ํด๋ด๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ์ ๋ณด๋ฉด peft_model = FastLanguageModel.get_peft_model ๋ฅผ ํ๋ฉด์ ๋ชจ๋ธ์ base model ์์ฒด์/์๋ ๋ณํ๋ฅผ ์ฃผ๋ ๊ฒ์ผ๋ก ๋ณด์ด๋๋ฐ. ์ด๊ฑด ์์ค์ฝ๋๋ฅผ ๋ด์ผ ์ ๊ฒ ๊ฐ๋ค์.
์๋ ํ์ธ์
์์๋ณด๋ฉฐ ๋ฐ๋ผํ๊ณ ์๋๋ฐ
ImportError Traceback (most recent call last)
Cell In[11], line 1
----> 1 from unsloth import FastLanguageModel
๋ถ๋ถ์์ ๊ณ์ ์๋ฌ๊ฐ ๋ฐ์ํฉ๋๋ค
unsloth ์ค์น๊ฐ ์๋๋๊ฑฐ ๊ฐ์๋ฐ
cuda: 12.1
python: 3.9.0
torch: 2.2.0+cu121
์ฌ์ฉ ํ๊ฒฝ์์ unsloth๋ฅผ ์ด๋ป๊ฒ ์ค์นํด์ผ ํ๋์?
์๋ ํ์ธ์? ํน์ ๋ก์ปฌ ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ์์ ์คํํ์๋์? unsloth ์ค์น ์ฝ๋๊ฐ ์๋ฃ ์์ ๋ค์ด๊ฐ ์๋๋ฐ ์ค์น๊ฐ ์ ๋๋ก ๋์๋์ง ํ์ธํด ๋ณด์๊ฒ ์ด์?
๋ค ๊ฐ์ํ๊ฒฝ์์ ํ๊ณ ์์ต๋๋ค
@@joey1025ful ์ค์นํ์ค ๋ ์์กด์ฑ์ด ๋ง์์ ์ฌ๊ธฐ ๊ฐ์ด๋ ๋ณด๊ณ ๋ฒ์ ๋ง์ถฐ์ ์ค์น ์งํํด ์ฃผ์๋ ๊ฒ์ด ์ข์ต๋๋ค~ ํ ๋ฒ ์ฐธ๊ณ ํด ๋ณด์ธ์!(cuda, torch, peft ๋ฒ์ )
github.com/unslothai/unsloth
๋ฐ์ดํฐ์ ์์ฑ์ instruction, input, output๊ตฌ์กฐ๋ก ์์ฑํ์๋๋ฐ input์ด ๋น์ด์๋ค์ input์ ์ญํ ์ ๋ญ๊น์?
instruction์ ์ง์์ฌํญ ๊ทธ๋ฆฌ๊ณ input์ ๋ฌธ๋งฅ์ด๋ผ๊ณ ์ดํดํ์๋ฉด ์ข์ต๋๋ค. ์๋ฅผ๋ค์ด,
Q: ๋ํ๋ฏผ๊ตญ์ ๋์๋ฅผ ๋์ดํด๋ด
input: ์์ธ, ๋ถ์ฐ,
output: ๋๊ตฌ, ๊ด์ฃผ ๋ฑ๋ฑ
์ด๋ฐ์์ผ๋ก ๊ตฌ์ฑ์ด ๊ฐ๋ฅํด์~
QA๋ฐ์ดํฐ๋ฅผ ๋ง๋๋ ๊ณผ์ ์์ ๋ฌธ์๋ฅผ ๋ถ๋ฌ์ค๋ ๋ถ๋ถ์ ์ด๋์ ์๋๊ฑด๊ฐ์?? ๊ทธ๋ฆฌ๊ณ elements๊ฐ ์ด๋์ ์ ์๋ผ์๋์ง ๋ชจ๋ฅด๊ฒ ์ด์ ใ
PDF ๋ถ๋ฌ์ค๋ ์ฝ๋๋ก ๋ถ๋ฌ์ค์๋ฉด ๋ฉ๋๋ค. ๋ค๋ฅธ PDF ๋ก๋๋ฅผ ์ฌ์ฉํ์ ๋ ๋ฉ๋๋ค~
์๋ ์ฝ๋๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์~
from unstructured.partition.pdf import partition_pdf
def extract_pdf_elements(filepath):
"""
PDF ํ์ผ์์ ์ด๋ฏธ์ง, ํ ์ด๋ธ, ๊ทธ๋ฆฌ๊ณ ํ ์คํธ ์กฐ๊ฐ์ ์ถ์ถํฉ๋๋ค.
path: ์ด๋ฏธ์ง(.jpg)๋ฅผ ์ ์ฅํ ํ์ผ ๊ฒฝ๋ก
fname: ํ์ผ ์ด๋ฆ
"""
return partition_pdf(
filename=filepath,
extract_images_in_pdf=False, # PDF ๋ด ์ด๋ฏธ์ง ์ถ์ถ ํ์ฑํ
infer_table_structure=False, # ํ ์ด๋ธ ๊ตฌ์กฐ ์ถ๋ก ํ์ฑํ
chunking_strategy="by_title", # ์ ๋ชฉ๋ณ๋ก ํ ์คํธ ์กฐ๊ฐํ
max_characters=4000, # ์ต๋ ๋ฌธ์ ์
new_after_n_chars=3800, # ์ด ๋ฌธ์ ์ ์ดํ์ ์๋ก์ด ์กฐ๊ฐ ์์ฑ
combine_text_under_n_chars=2000, # ์ด ๋ฌธ์ ์ ์ดํ์ ํ ์คํธ๋ ๊ฒฐํฉ
)
# PDF ํ์ผ ๋ก๋
elements = extract_pdf_elements("data/SPRI_AI_Brief_2023๋ 12์ํธ_F.pdf")
@@teddynote ๊ฐ์ฌํฉ๋๋ค ใ ใ ํ๊ต์์ ํ๋ก์ ํธํ ๋ ๋ง์ ๋์๋ฐ๊ณ ์์ด์!!
@@pixelel1353 ๊ฐ์ฌํฉ๋๋ค๐
๋ง์ ๋์์ ๋ฐ๊ณ ์์ต๋๋ค. ์ข์ ์์ ๊ฐ์ฌํฉ๋๋ค.
์ฌ๋ ค์ฃผ์ ์์ค ์ฝ๋ ์คํ ์ค ์๋ฌ๊ฐ ๋ฐ์ํ๋๋ฐ ํด๊ฒฐ์ฑ ์ ์กฐ์ธ์ ๊ตฌํฉ๋๋ค.
ํ์ธํ๋ ์ฝ๋ ์คํ ์ค trainer_stats = trainer.train() ์์ ๋๋ ์๋ฌ์ ๋๋ค.
Unsloth: Untrained tokens found, but embed_tokens & lm_head not trainable, causing NaNs.
์คํํ๊ฒฝ์ Colab pro. GPU๋ L4 ํ ๋น๋ฐ์ ์คํํด ๋ณด์์ต๋๋ค.
๋์ ๋ถํ ๋๋ฆฝ๋๋ค.
์ํ.. ํด๊ฒฐํ์ต๋๋ค.
์ฐ์ Colab pro ์์ A100ํ ๋น์ ๋ฐ์์ผ ํ๊ณ embed token๊ณผ lm head๋ฅผ ์ถ๊ฐํ๋ฉด ์ค๋ฅ๊ฐ ๋์ง ์๊ณ ๋ชจ๋ธ๋ ์ ์คํ๋์์ต๋๋ค.
150๊ฐ ์ฐ์ต์ผ์ ๋ง๋ ๋ฐ์ดํฐ๋ก๋ ์ฑ๋ฅ์ด ๊ด์ฐฎ๊ฒ ๋์ค๋ ๊ฒ ๊ฐ์ต๋๋ค.
ํน์ ๋ฐ์ดํฐ์ ์ด๋ป๊ฒ ๋ง๋์ จ๋์ง ์์์์๊น์? ์ ๋ ๋ฐ์ดํฐ์ ๋ง๋ค์ด์ ํด๋ณด๋ ค๊ณ ํ๋๋ฐ ๊ฒฐ๊ณผ๊ฐ์ด ์ด์ํ๊ฒ ๋์์์ ใ ใ
์ฐ์ ํ๊ตญ์ด ํ์ธํ๋ ๋ ๋ชจ๋ธ์ด ์ต๊ทผ ์ ๋ฐ์ดํธ ๋๋ฉด์ ํ ํฌ๋์ด์ ์ด์๊ฐ ์๋๋ผ๊ณ ์. ๊ทธ๋์ ๋ฒ ์ด์ค ๋ชจ๋ธ์ unsloth/llama-3-8b-bnb-4bit ๋ก ๋๋ ค๋ณด์๊ณ ์. GPU๋ ๊ฐ์ฉ ๊ฐ๋ฅํ์๋ค๋ฉด A100์ผ๋ก ๋๋ ค๋ณด์ธ์^^
โ@@teddynote์ํ ๊ทธ๋ ๊ตฐ์ ๋ต๋ณ ๊ฐ์ฌํฉ๋๋ค
โ@@vhxmtmfp๋ง์ด๋ ์๋๊ณ 150๊ฐ ์ํ ๋ฌธ์ฅ์ gpt4๋ก ๋ต๋ณ์ ๋ผ๋ฒจ๋งํ์๊ตฌ์
ํ๋ฌธ์ฅ์ ๋ต๋ณ์ ์ด4๊ฐ๊ฐ ๋์ค๊ฒ ํ์ต๋๋ค
ํ ๋๋์์ ์๋ ค์ค ๊ฒ์ฒ๋ผ ํ๊น ์ ๋ฐ์ดํฐ์ ํ๋๋ ๋ชจ๋ธ์ ์ฌ๋ ค๋์์ต๋๋ค
Younggooo/senti_data2