AI

Ollama / Embedding

์ด-ํ”„ 2024. 8. 27. 10:44

๐Ÿ’ก Ollama

  • ๋กœ์ปฌ์—์„œ ๋Œ€ํ˜• ์–ธ์–ด ๋ชจ๋ธ (LLM)์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ํ”Œ๋žซํผ
  • macOs, Windows, Linux์—์„œ ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Œ
  • Docker๋ฅผ ์ง€์›ํ•˜์—ฌ ๋”์šฑ ๋‹ค์–‘ํ•œ ํ™˜๊ฒฝ์—์„œ ํ™œ์šฉ ๊ฐ€๋Šฅ
ollama run llama3 //์ถœ์‹œ๋œ AI ๋ชจ๋ธ์„ RUN ๊ฐ€๋Šฅ

example

  • Ollama๋Š” ์›น UI ๊ธฐ๋Šฅ์„ ์ œ๊ณต

๊ฐ€์ด๋“œ๋ผ์ธ

  1. Ollama ์„œ๋ฒ„ ์‹คํ–‰
    OLLAMA_ORIGINS=* ollama serve
  2. chatbot-ollama ์ฝ”๋“œ ๋‹ค์šด๋กœ๋“œ ๋ฐ ํŒจํ‚ค์ง€ ์„ค์น˜
    git clone git@github.com:ivanfioravanti/chatbot-ollama.git cd chatbot-ollama npm install
  3. chatbot-ollama ์›น ์„œ๋ฒ„ ์‹คํ–‰
    npm run dev
  4. Ollama ์›น UI ์ ‘์† (http://localhost:3000 ์ ‘์†)

๐Ÿ’ก Embedding

  • ์‚ฌ๋žŒ์ด ์“ฐ๋Š” ์ž์—ฐ์–ด๋ฅผ ๊ธฐ๊ณ„๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž์˜ ๋‚˜์—ด์ธ ๋ฒกํ„ฐ๋กœ ๋ฐ”๊พผ ๊ฒฐ๊ณผ ๋ฐ ๊ณผ์ •
  • ๋‹จ์–ด์˜ ๋นˆ๋„๋ฅผ ๊ทธ๋Œ€๋กœ ๋ฒกํ„ฐ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ
  • ๋ณ€ํ™˜์‹œํ‚จ ๋ฒกํ„ฐ ๊ฐ’์— ์˜๋ฏธ์™€ ์ •๋ณด๋ฅผ ์†์‹ค์—†์ด ์ž˜ ๋‹ด์•„๋‚ผ์ˆ˜๋ก ์ข‹์€ ์ž„๋ฒ ๋”ฉ

๐Ÿ’ก Embedding์˜ ์—ญํ• 

  • ๋‹จ์–ด/๋ฌธ์žฅ ๊ฐ„ ๊ด€๋ จ๋„ ๊ณ„์‚ฐ
    • ๊ตฌ๊ธ€์—์„œ ๋ฐœํ‘œํ•œ “Word2Vec” : ๊ธ€์ž๋ฅผ ๋ฒกํ„ฐ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜

    • ๋‹จ์–ด ๋ฒกํ„ฐ๋“ค ์‚ฌ์ด์˜ ์œ ์‚ฌ๋„ ๊ณ„์‚ฐ ๊ฐ€๋Šฅ

      ์ฝ”์‚ฌ์ธ ์œ ์‚ฌ๋„
       
      • ๋‘ ๋ฒกํ„ฐ๊ฐ„์˜ ์ฝ”์‚ฌ์ธ ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ๊ตฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‘ ๋ฒกํ„ฐ์˜ ์œ ์‚ฌ๋„
      • 1์— ๊ฐ€๊นŒ์šธ ์ˆ˜๋ก ์œ ์‚ฌ๋„๊ฐ€ ๋†’๋‹ค.
  • ์˜๋ฏธ์ /๋ฌธ๋ฒ•์  ์ •๋ณด ํ•จ์ถ•
    • ๋ฒกํ„ฐ์ธ ๋งŒํผ ์‚ฌ์น™์—ฐ์‚ฐ์ด ๊ฐ€๋Šฅ
      ⇒ ๋‹จ์–ด๋“ค ๊ฐ„์˜ ๋ง์…ˆ/๋บ„์…ˆ์„ ํ†ตํ•ด ๋‹จ์–ด๋“ค ์‚ฌ์ด์˜ ๊ด€๊ณ„๋ฅผ ๋„์ถœ ๊ฐ€๋Šฅ
    • ex) ๋‹จ์–ด ๋ฒกํ„ฐ 1 - ๋‹จ์–ด ๋ฒกํ„ฐ 2 + ๋‹จ์–ด ๋ฒกํ„ฐ 3
      “์†Œ๋…„” - “์†Œ๋…€” + “์†Œ๋…„” = “์†Œ๋…„” (’์„ฑ๋ณ„’๋กœ ์น˜ํ™˜ ์‹œ)
      “์•„๋“ค” - “๋”ธ” + “์†Œ๋…„” = “์†Œ๋…„” ์‹œ, ์„ฑ๊ณต์ 
  • ์ „์ดํ•™์Šต
    • ๋‹ค๋ฅธ ๋”ฅ๋Ÿฌ๋‹ ๋ชจ๋ธ์˜ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์ž์ฃผ ์“ฐ์ด๊ณ , ํ’ˆ์งˆ ์ข‹์€ ์ž„๋ฒ ๋”ฉ์„ ์“ธ์ˆ˜๋ก ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ์ข‹์•„์ง
    • ์ „์ด ํ•™์Šต ๋ชจ๋ธ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์ง€ ์•Š์Œ
    • ๋Œ€๊ทœ๋ชจ ๋ง๋ญ‰์น˜๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ฏธ๋ฆฌ ์ž„๋ฒ ๋”ฉ์„ ๋งŒ๋“ค์–ด ๋†“๊ณ , ์ด ์ž„๋ฒ ๋”ฉ์„ ์ž…๋ ฅ๊ฐ’์œผ๋กœ ์“ฐ๋Š” ์ „์ด ํ•™์Šต ๋ชจ๋ธ์€ ๋ฌธ์„œ ๋ถ„๋ฅ˜๊ฐ™์€ ํƒœ์Šคํฌ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ž˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋จ
    • ์ž„๋ฒ ๋”ฉ ํ’ˆ์งˆ์ด ์ข‹์„์ˆ˜๋ก ์ˆ˜ํ–‰ํ•˜๋ ค๋Š” ํƒœ์Šคํฌ์˜ ์„ฑ๋Šฅ์ด ์˜ฌ๋ผ๊ฐ€๊ณ , ํ•™์Šต์†์‹ค๋„ ์ ๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐ์†Œํ•˜์—ฌ ๋ชจ๋ธ์˜ ์ˆ˜๋ ด์ด ๋นจ๋ผ์ง

 

 

'AI' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

LoRA, QLoRA, LoRA-FA ๋ถ„์„  (0) 2024.11.18
Continue Extension์„ ํ™œ์šฉํ•œ AI Coding ํ‰๊ฐ€  (2) 2024.10.21
Prompt๋ž€ ? (feat. LLM)  (0) 2024.08.28
LLM / LangChain / Fine-Tuning  (1) 2024.08.26
๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ  (0) 2023.05.09