Intro

<aside> ๐Ÿ”ฅ

LLM์˜ ์ž…๋ ฅ์„ ๋ชจ๋ธ์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

</aside>

์ผ๋ฐ˜ ์‚ฌ์šฉ์ž๋“ค์€ Chat-GPT๊ฐ™์€ ์ƒ์„ฑํ˜• ๋ชจ๋ธ์„ ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ปดํ“จํ„ฐ๋Š” ํ…์ŠคํŠธ๋ฅผ ์ดํ•ดํ•˜์ง€ ์•Š๊ณ , 0๊ณผ 1๋งŒ ์ดํ•ดํ•  ๋ฟ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ํ…์ŠคํŠธ๋ฅผ ์ˆซ์žํ™”๋ฅผ ํ•ด์ค˜์•ผ๋งŒ ์ดํ•ด๋ฅผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ผ๋ฐ˜ ์œ ์ €๊ฐ€ ์ƒ๊ฐํ•˜๋Š” ์ž…๋ ฅ๊ณผ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์ด ์„œ๋กœ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฅผ ์–ด๋–ป๊ฒŒ ๋งž์ถฐ์ค˜์•ผ ํ• ์ง€์— ๋Œ€ํ•ด์„œ ์ƒ๊ฐํ•ด๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

chat templates ๋ผ๋Š” ๊ฒƒ์„ ํ†ตํ•ด LLM์ด ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ์„ ๊ตฌ์กฐํ™”ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•ด๋ด…์‹œ๋‹ค ****Now that we understand how LLMs work, letโ€™s look at how they structure their generations through chat templates.

chat templates๋Š” ํ—ˆ๊น…ํŽ˜์ด์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” prompt๋ฅผ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค. chat template์— ๋งž์ถฐ์„œ ์ž…๋ ฅ์„ ์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ์•Œ์•„์„œ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋Š” ๊ฒƒ์ด์ฃ ! ๊ทธ๋Ÿฌ๋ฉด ์ €ํฌ๋Š” chat template์— ๋งž๋Š” ์ž…๋ ฅ์„ ์ฃผ๋Š” ๊ฒƒ์„ ์•Œ์•„๋ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

์šฐ๋ฆฌ๊ฐ€ Chat-GPT์— Hello how are you? ๋ผ๊ณ  ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ๋Š”๋‹ค๊ณ  ํ•ด๋ด…์‹œ๋‹ค! ๊ทธ๋Ÿฌ๋ฉด Chat-GPT๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋‹ต๋ณ€์„ ํ•œ๋‹ค๊ณ  ํ•ด๋ด…์‹œ๋‹ค!

Chat template (์ถœ์ฒ˜ : โ€ฃ)

Chat template (์ถœ์ฒ˜ : โ€ฃ)

Hello! I'm just a language model, so I don't have feelings or emotions like humans do, but I'm functioning properly and ready to assis you with any questions or tasks you may have. How about you? How's your day going so far?

์ด ๊ฒฝ์šฐ์— ๊ทธ ์ค‘๊ฐ„์— ์ƒ๋žต๋˜์–ด ์žˆ๋Š” ๋‹จ๊ณ„๊ฐ€ ๋งค์šฐ ๋งŽ์Šต๋‹ˆ๋‹ค! ์ƒ๋žต๋œ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค!

  1. User์˜ ํ…์ŠคํŠธ ์ž…๋ ฅ : Hello how are you?

  2. chat templateํ™” : <|begin_of_text|><|start_header_id|>user<|end_header_id|>\\n\\nHello how are you?

  3. ํ† ํฐํ™” : [โ€<|begin_of_text|>โ€, โ€œ<|start_header_id|>โ€, โ€œuserโ€, โ€œ<|end_header_id|>โ€, โ€œ\\n\\nโ€, โ€œHelloโ€, โ€œhowโ€, โ€œareโ€, โ€œyouโ€, โ€œ?โ€]

  4. ์ˆซ์žํ™” : [2, 3, 10, 23, 523, 4332, 39942, 22143, 3232, 5323]

  5. ๋ชจ๋ธ์˜ ์ž…๋ ฅ์œผ๋กœ ๋„ฃ๊ธฐ

  6. ๋ชจ๋ธ์˜ output logit โ†’ softmax โ†’ Next Token Prediction

  7. Next Token Prediction์œผ๋กœ ์™„์„ฑ๋œ Text

<|begin_of_text|><|start_header_id|>user<|end_header_id|>\n\nHello how are you?\n\n<start_header_id>assistant<|end_header_id|>\n\nHello! I'm just a language model, so I don't have feelings or emotions like humans do, but I'm functioning properly and ready to assis you with any questions or tasks you may have. How about you? How's your day going so far?

  1. User์—๊ฒŒ ์ถœ๋ ฅํ•  Text

Hello! I'm just a language model, so I don't have feelings or emotions like humans do, but I'm functioning properly and ready to assis you with any questions or tasks you may have. How about you? How's your day going so far?

์ด์ฒ˜๋Ÿผ LLM ๋ชจ๋ธ์— ์ ์ ˆํ•œ ์ž…๋ ฅ์„ ์ฃผ๋ฉด ์ ์ ˆํ•œ output text๊ฐ€ ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ, ๊ฐ ๋ชจ๋ธ๋งˆ๋‹ค ๋“ค์–ด๊ฐ€์•ผ ํ•˜๋Š” ์ž…๋ ฅ์˜ ํ˜•ํƒœ๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. 2. chat templateํ™” : <|begin_of_text|><|start_header_id|>user<|end_header_id|>\\n\\nHello how are you? ๋‹จ๊ณ„์—์„œ ๋ชจ๋ธ๋งˆ๋‹ค special token์ด ๋‹ค๋ฅด๊ณ , ์–ด๋–ป๊ฒŒ ์ž…๋ ฅ์„ ๋„ฃ์–ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ, ๊ฐ๊ฐ ๋‹ค๋ฅธ ์ž…๋ ฅ์„ ํ•˜๋‚˜๋กœ ํ†ต์ผ์‹œ์ผœ์ฃผ๋Š” ๋ธŒ๋ฆฟ์ง€๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด chat template์ž…๋‹ˆ๋‹ค! ๊ทธ๋ ‡๊ธฐ์— chat template์„ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•๋งŒ ์•ˆ๋‹ค๋ฉด ๋ชจ๋“  ๋ชจ๋ธ์˜ ์ž…๋ ฅ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค! ๋”ฐ๋ผ์„œ chat template์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ด…์‹œ๋‹ค!

Body

1. Messages(Prompts)

Messages๋Š” LLM์˜ ์ž…๋ ฅ๊ณผ ๊ด€๋ จ๋œ ์ฒด๊ณ„๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. Messages ํ˜น์€ Prompts ๋“ฑ์œผ๋กœ ๋ถˆ๋ฆด ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์–‘ํ•œ ์šฉ์–ด๊ฐ€ ํ—ท๊ฐˆ๋ฆฌ๋”๋ผ๋„ ํ•ต์‹ฌ์€ LLM ๋ชจ๋ธ์˜ ์ž…๋ ฅ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ด์ฃผ์‹œ๋ฉด ๋ ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค!

Messages๋Š” ํฌ๊ฒŒ 3๊ฐ€์ง€๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. system messages : LLM ๋ชจ๋ธ์— ์–ด๋–ค ๋ฐฐ๊ฒฝ์ง€์‹์ด๋‚˜ ๋ถˆ๋Ÿฌ์•ผํ•  ํ•จ์ˆ˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์ง€์‹์„ ์ฃผ์ž…ํ•˜๊ธฐ ์œ„ํ•œ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
  2. user messages : ์‹ค์ œ ์‚ฌ์šฉ์ž(User)๊ฐ€ ์ž…๋ ฅํ•˜๋Š” ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค.
  3. assistant messages : LLM ๋ชจ๋ธ์˜ ๋‹ต๋ณ€ ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. ํ•™์Šต์„ ํ•  ๊ฒฝ์šฐ ์ด ๋ฉ”์„ธ์ง€๊ฐ€ ๋ผ๋ฒจ(์ •๋‹ต)์ด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋ฉด ํ•˜๋‚˜ํ•˜๋‚˜ ์ž์„ธํžˆ ์•Œ์•„๋ด…์‹œ๋‹ค!

1.1. System messages

system message(๋˜๋Š” system prompt)๋Š” ์–ด๋–ป๊ฒŒ ๋ชจ๋ธ์ด ํ–‰๋™ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์ •์˜ํ•˜๋Š” ํ…์ŠคํŠธ์ž…๋‹ˆ๋‹ค. system messages๋Š” ๋‹ค์Œ ํŠน์„ฑ์„ ๊ฐ€์ง‘๋‹ˆ๋‹ค.

  1. LLM ๋ชจ๋ธ์ด ์—ฌ๋Ÿฌ๋ฒˆ User์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๋”๋ผ๋„ ์ง€์†์ ์œผ๋กœ ์˜ํ–ฅ์„ ์ฃผ๋Š” Message

    ์˜ˆ๋ฅผ ๋“ค์–ด, โ€œ๋„ˆ๋Š” ์นœ์ ˆํ•œ ์กฐ์–ธ์ž์•ผโ€ ๋ผ๊ณ  system message๋ฅผ ์ฃผ๊ฒŒ ๋˜๋ฉด user๊ฐ€ LLM ๋ชจ๋ธ์—๊ฒŒ ๊ณ„์† ์—ฌ๋Ÿฌ๋ฒˆ ๋ฌผ์–ด๋ณด๋”๋ผ๋„ system message๋Š” ๋™์ผํ•˜๊ฒŒ โ€œ๋„ˆ๋Š” ์นœ์ ˆํ•œ ์กฐ์–ธ์ž์•ผโ€ ๋กœ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

  2. ๋ชจ๋“  ๋Œ€ํ™” ์ƒํ˜ธ์ž‘์šฉ์— ๊ฐ€์ด๋“œ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด, 1๋ฒˆ ์˜ˆ์‹œ์ฒ˜๋Ÿผ โ€œ๋„ˆ๋Š” ์นœ์ ˆํ•œ ์กฐ์–ธ์ž์•ผโ€ ๋ผ๊ณ  system message๊ฐ€ ์‚ฌ์šฉ๋˜๋ฉด, ๋ชจ๋“  user ์ž…๋ ฅ ๋ฐ ๋ชจ๋ธ์˜ ๋‹ต๋ณ€์— โ€œ๋„ˆ๋Š” ์นœ์ ˆํ•œ ์กฐ์–ธ์ž์•ผโ€ ๋ผ๋Š” system message๊ฐ€ ๊ฐ™์ด ๋“ค์–ด๊ฐ€๊ฒŒ ๋˜๋ฏ€๋กœ User์™€ LLM์˜ ๋ชจ๋“  ํ‹ฐํ‚คํƒ€์นด์— ์˜ํ–ฅ์„ ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

Agent์˜ ์˜ˆ์‹œ๋ฅผ ๋“ค์–ด๋ด…์‹œ๋‹ค.

assistant message (polite, clear, helpful) (์ถœ์ฒ˜ : โ€ฃ)

assistant message (polite, clear, helpful) (์ถœ์ฒ˜ : โ€ฃ)

์œ„์˜ system message๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์ข€๋” polite, clear, helpful์˜ ํŠน์„ฑ์„ ๊ฐ€์ง„ ๋‹ต๋ณ€์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

assistant message (rabel) (์ถœ์ฒ˜ : โ€ฃ)

assistant message (rabel) (์ถœ์ฒ˜ : โ€ฃ)

๋ผ์ด๋ฒŒ ๊ด€๊ณ„๋ผ๋Š” system message๋ฅผ ์ค€ ๊ฒฝ์šฐ ๋ถˆ์นœ์ ˆํ•œ ๋‹ต๋ณ€์ด ๋‚˜์˜ค๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์‹์œผ๋กœ ์–ด๋–ค ๋‹ต๋ณ€์„ ์ค„์ง€ ๊ทธ ๋งฅ๋ฝ ์ •๋ณด๋ฅผ ๊ฐ™์ด ์ค€๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ข€๋” ์ดํ•ด๊ฐ€ ์‰ฌ์šฐ์‹ค ๊ฑฐ ๊ฐ™์Šต๋‹ˆ๋‹ค!

Example of system message about tool (์ถœ์ฒ˜ : โ€ฃ)

Example of system message about tool (์ถœ์ฒ˜ : โ€ฃ)

Agent์—์„œ๋Š” ๋˜ํ•œ tool์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. tool์— ๋Œ€ํ•˜์—ฌ ๋‹ค์Œ ์ •๋ณด๋ฅผ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ tool ์ •๋ณด
  2. ๋ชจ๋ธ์ด ์ทจํ•  ํ–‰๋™์„ ์–ด๋–ค ํ˜•์‹์œผ๋กœ ํ‘œํ˜„ํ• ์ง€์— ๋Œ€ํ•œ ์ง€์นจ
  3. ์‚ฌ๊ณ  ๊ณผ์ •์„ ์–ด๋–ป๊ฒŒ ๊ตฌ๋ถ„ํ•ด์•ผ ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ

๋ณดํ†ต system message๋Š” ๊ฐ LLM ๋ชจ๋ธ์—์„œ ๊ธฐ๋ณธ์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” default๊ฐ’์ด ์žˆ๋Š”๋ฐ์š”. Agentํ–ฅ์˜ system message๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— Agent๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” system message๋ฅผ ์ƒˆ๋กญ๊ฒŒ ์ •์˜ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค!

1.2. Conversations : User and Assistant Messages

3๊ฐ€์ง€ message ์ค‘์—์„œ system message๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ user message์™€ assistant message๋ฅผ ๋ฌถ์–ด Conversations๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ๋žŒ(User)๊ณผ LLM(assistant) ์‚ฌ์ด์˜ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋Œ€ํ™”๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

์•„๋ž˜์™€ ๊ฐ™์€ Chat templates๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋ด…์‹œ๋‹ค!

conversation = [
    {"role": "user", "content": "I need help with my order"},
    {"role": "assistant", "content": "I'd be happy to help. Could you provide your order number?"},
    {"role": "user", "content": "It's ORDER-123"},
]

user๊ฐ€ 2๋ฒˆ, assistant๊ฐ€ 1๋ฒˆ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์€ ๋‹ค์Œ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. user๊ฐ€ โ€œI need help with my order" ๋ผ๊ณ  LLM์— ๋ฌผ์–ด๋ณด๊ณ 
  2. LLM์ด โ€œI'd be happy to help. Could you provide your order number?" ๋ผ๊ณ  ๋Œ€๋‹ตํ•œ ํ›„์—,
  3. user๊ฐ€ โ€œIt's ORDER-123โ€ ๋ผ๊ณ  ๋˜๋ฌผ์€ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ Conversations ์ƒํ™ฉ์„ Python์˜ ๋ฆฌ์ŠคํŠธ์™€ ๋”•์…”๋„ˆ๋ฆฌ์˜ ์ผ์ •ํ•œ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ•œ ๋ฐ์ดํ„ฐ๋ฅผ Chat templates๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

Chat templates๋Š” ์‚ฌ์šฉ์ž์™€ ์–ด์‹œ์Šคํ„ดํŠธ ๊ฐ„์˜ ์ด์ „ ๋Œ€ํ™”๋ฅผ ์ €์žฅํ•˜์—ฌ ๋Œ€ํ™” ๋งฅ๋ฝ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค๋‹ˆ๋‹ค. ์ฆ‰, ์ด์ „ ๋Œ€ํ™”๋“ค๋„ LLM์˜ ์ž…๋ ฅ์œผ๋กœ ๊ฐ™์ด ๋„ฃ์–ด์ค˜์„œ ๊ณผ๊ฑฐ์˜ ๋งฅ๋ฝ ์ •๋ณด๋„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ์ด์–ด์ง€๋Š” ๋Œ€ํ™”๋ฅผ ๋”์šฑ ์ผ๊ด€๋˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Chat templates๋Š” ํ•ญ์ƒ ๋Œ€ํ™”์˜ ๋ชจ๋“  ๋ฉ”์‹œ์ง€๋ฅผ ์—ฐ๊ฒฐ(concatenate)ํ•˜์—ฌ LLM์—๊ฒŒ ๋‹จ์ผํ•œ ๋…๋ฆฝํ˜• ์‹œํ€€์Šค(sequence)๋กœ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

Chat templates์˜ ํ˜•์‹์ฒ˜๋Ÿผ ์ผ๊ด€๋œ ํ˜•์‹์„ ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๋ฉด huggingface์—์„œ Chat template๋ฅผ ์ธ์‹ํ•˜๊ณ  ๋‹ค์–‘ํ•œ LLM ๋ชจ๋ธ ์ž…๋ ฅ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ค๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, SmolLM2๋ผ๋Š” huggingface์—์„œ ๋งŒ๋“  ๋ชจ๋ธ์˜ LLM ์ž…๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

<|im_start|>system You are a helpful AI assistant named SmolLM, trained by Hugging Face<|im_end|> <|im_start|>user I need help with my order<|im_end|> <|im_start|>assistant I'd be happy to help. Could you provide your order number?<|im_end|> <|im_start|>user It's ORDER-123<|im_end|> <|im_start|>assistant

๋ฐ˜๋ฉด์—, Llama3.2 ๋ชจ๋ธ์˜ ์ž…๋ ฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

<|begin_of_text|><|start_header_id|>system<|end_header_id|>

Cutting Knowledge Date: December 2023 Today Date: 10 Feb 2025

<|eot_id|><|start_header_id|>user<|end_header_id|>

I need help with my order<|eot_id|><|start_header_id|>assistant<|end_header_id|>

I'd be happy to help. Could you provide your order number?<|eot_id|><|start_header_id|>user<|end_header_id|>

It's ORDER-123<|eot_id|><|start_header_id|>assistant<|end_header_id|>

์ฆ‰, ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ Chat templates ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ๋งŒ ํ•œ๋‹ค๋ฉด, ์ €ํฌ๊ฐ€ ๋งŒ๋“  Chat templatesํ˜•์‹์˜ ๋ฐ์ดํ„ฐ์ธ Messages๋ฅผ huggingface์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ณ€ํ™˜ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” LLM ๋ชจ๋ธ์˜ ์ž…๋ ฅ(Prompt)์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

2. Base model vs Instruct Model

์œ„์˜ Prompt์™€ ๊ด€๋ จํ•ด์„œ ์ดํ•ดํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ Base Model ๊ณผ Insruct Model ์ž…๋‹ˆ๋‹ค.

์ฆ‰, Instruct Model์€ Chat templates๋ฅผ ์ด์šฉํ•œ LLM ์ž…๋ ฅ(Prompt)์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ์— Chat templates๋ฅผ ์ด์šฉํ•˜์—ฌ LLM ์ž…๋ ฅ(Prompt)๋กœ ๋ชจ๋ธ์˜ ์ž…๋ ฅ์„ ๋„ฃ์–ด์ค˜์•ผ ๋†’์€ ์„ฑ๋Šฅ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. Messages๋ฅผ Prompt๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

์œ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋˜ ๋ง์„ ๋‹ค์‹œ ์ƒ๊ธฐํ•ด๋ด…์‹œ๋‹ค.

์ฆ‰, ์šฐ๋ฆฌ๊ฐ€ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฅผ Chat templates ํ˜•์‹์œผ๋กœ ๋งŒ๋“ค์–ด๋‚ด๊ธฐ๋งŒ ํ•œ๋‹ค๋ฉด, ์ €ํฌ๊ฐ€ ๋งŒ๋“  Chat templatesํ˜•์‹์˜ ๋ฐ์ดํ„ฐ์ธ Messages๋ฅผ huggingface์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ณ€ํ™˜ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” LLM ๋ชจ๋ธ์˜ ์ž…๋ ฅ(Prompt)์œผ๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

Messages๋ฅผ Prompt๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๊ธฐ ์œ„ํ•ด์„œ๋Š” huggingface์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ณ€ํ™˜ ํ•จ์ˆ˜๋ฅผ ์ดํ•ดํ•œ๋‹ค๋ฉด ๋ณ€ํ™˜ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค!

3.1. apply_chat_template

์œ„์˜ message๋ฅผ ์•„๋ž˜์˜ ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•ด์„œ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.