DrDavis's picture
Upload folder using huggingface_hub
17c6d62 verified

Mistral[[mistral]]

๊ฐœ์š”[[overview]]

๋ฏธ์ŠคํŠธ๋ž„์€ Albert Jiang, Alexandre Sablayrolles, Arthur Mensch, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Florian Bressand, Gianna Lengyel, Guillaume Lample, Lรฉlio Renard Lavaud, Lucile Saulnier, Marie-Anne Lachaux, Pierre Stock, Teven Le Scao, Thibaut Lavril, Thomas Wang, Timothรฉe Lacroix, William El Sayed๊ฐ€ ์ž‘์„ฑํ•œ ์ด ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ์—์„œ ์†Œ๊ฐœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ์˜ ์„œ๋‘๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

๋ฏธ์ŠคํŠธ๋ž„ AIํŒ€์€ ํ˜„์กดํ•˜๋Š” ์–ธ์–ด ๋ชจ๋ธ ์ค‘ ํฌ๊ธฐ ๋Œ€๋น„ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ๋ฏธ์ŠคํŠธ๋ž„7B๋ฅผ ์ถœ์‹œํ•˜๊ฒŒ ๋˜์–ด ์ž๋ž‘์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค.

๋ฏธ์ŠคํŠธ๋ž„-7B๋Š” mistral.ai์—์„œ ์ถœ์‹œํ•œ ์ฒซ ๋ฒˆ์งธ ๋Œ€๊ทœ๋ชจ ์–ธ์–ด ๋ชจ๋ธ(LLM)์ž…๋‹ˆ๋‹ค.

์•„ํ‚คํ…์ฒ˜ ์„ธ๋ถ€์‚ฌํ•ญ[[architectural-details]]

๋ฏธ์ŠคํŠธ๋ž„-7B๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ์  ํŠน์ง•์„ ๊ฐ€์ง„ ๋””์ฝ”๋” ์ „์šฉ ํŠธ๋žœ์Šคํฌ๋จธ์ž…๋‹ˆ๋‹ค:

  • ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์–ดํ…์…˜: 8k ์ปจํ…์ŠคํŠธ ๊ธธ์ด์™€ ๊ณ ์ • ์บ์‹œ ํฌ๊ธฐ๋กœ ํ›ˆ๋ จ๋˜์—ˆ์œผ๋ฉฐ, ์ด๋ก ์ƒ 128K ํ† ํฐ์˜ ์–ดํ…์…˜ ๋ฒ”์œ„๋ฅผ ๊ฐ€์ง‘๋‹ˆ๋‹ค.
  • GQA(Grouped Query Attention): ๋” ๋น ๋ฅธ ์ถ”๋ก ์ด ๊ฐ€๋Šฅํ•˜๊ณ  ๋” ์ž‘์€ ํฌ๊ธฐ์˜ ์บ์‹œ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ”์ดํŠธ ํด๋ฐฑ(Byte-fallback) BPE ํ† ํฌ๋‚˜์ด์ €: ๋ฌธ์ž๋“ค์ด ์ ˆ๋Œ€ ์–ดํœ˜ ๋ชฉ๋ก ์™ธ์˜ ํ† ํฐ์œผ๋กœ ๋งคํ•‘๋˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ถœ์‹œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ผ์ด์„ ์Šค[[license]]

๋ฏธ์ŠคํŠธ๋ž„-7B๋Š” ์•„ํŒŒ์น˜ 2.0 ๋ผ์ด์„ ์Šค๋กœ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ ํŒ[[usage-tips]]

๋ฏธ์ŠคํŠธ๋ž„ AIํŒ€์€ ๋‹ค์Œ 3๊ฐ€์ง€ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๊ณต๊ฐœํ–ˆ์Šต๋‹ˆ๋‹ค:

  • ๊ธฐ๋ณธ ๋ชจ๋ธ์ธ ๋ฏธ์ŠคํŠธ๋ž„-7B-v0.1์€ ์ธํ„ฐ๋„ท ๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ์—์„œ ๋‹ค์Œ ํ† ํฐ์„ ์˜ˆ์ธกํ•˜๋„๋ก ์‚ฌ์ „ ํ›ˆ๋ จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€์‹œ ์กฐ์ • ๋ชจ๋ธ์ธ ๋ฏธ์ŠคํŠธ๋ž„-7B-Instruct-v0.1์€ ์ง€๋„ ๋ฏธ์„ธ ์กฐ์ •(SFT)๊ณผ ์ง์ ‘ ์„ ํ˜ธ๋„ ์ตœ์ ํ™”(DPO)๋ฅผ ์‚ฌ์šฉํ•œ ์ฑ„ํŒ…์— ์ตœ์ ํ™”๋œ ๊ธฐ๋ณธ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.
  • ๊ฐœ์„ ๋œ ์ง€์‹œ ์กฐ์ • ๋ชจ๋ธ์ธ ๋ฏธ์ŠคํŠธ๋ž„-7B-Instruct-v0.2๋Š” v1์„ ๊ฐœ์„ ํ•œ ๋ฒ„์ „์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

>>> from transformers import AutoModelForCausalLM, AutoTokenizer

>>> model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-v0.1", device_map="auto")
>>> tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1")

>>> prompt = "My favourite condiment is"

>>> model_inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
>>> model.to(device)

>>> generated_ids = model.generate(**model_inputs, max_new_tokens=100, do_sample=True)
>>> tokenizer.batch_decode(generated_ids)[0]
"My favourite condiment is to ..."

์ง€์‹œ ์กฐ์ • ๋ชจ๋ธ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

>>> from transformers import AutoModelForCausalLM, AutoTokenizer

>>> model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct-v0.2", device_map="auto")
>>> tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.2")

>>> messages = [
...     {"role": "user", "content": "What is your favourite condiment?"},
...     {"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
...     {"role": "user", "content": "Do you have mayonnaise recipes?"}
... ]

>>> model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda")

>>> generated_ids = model.generate(model_inputs, max_new_tokens=100, do_sample=True)
>>> tokenizer.batch_decode(generated_ids)[0]
"Mayonnaise can be made as follows: (...)"

์ง€์‹œ ์กฐ์ • ๋ชจ๋ธ์€ ์ž…๋ ฅ์ด ์˜ฌ๋ฐ”๋ฅธ ํ˜•์‹์œผ๋กœ ์ค€๋น„๋˜๋„๋ก ์ฑ„ํŒ… ํ…œํ”Œ๋ฆฟ์„ ์ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜์„ ์ด์šฉํ•œ ๋ฏธ์ŠคํŠธ๋ž„ ์†๋„ํ–ฅ์ƒ[[speeding-up-mistral-by-using-flash-attention]]

์œ„์˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ๋“ค์€ ์–ด๋–ค ์ตœ์ ํ™” ๊ธฐ๋ฒ•๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ถ”๋ก  ๊ณผ์ •์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ชจ๋ธ ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜์˜ ๋” ๋น ๋ฅธ ๊ตฌํ˜„์ธ ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜2์„ ํ™œ์šฉํ•˜๋ฉด ๋ชจ๋ธ์˜ ์†๋„๋ฅผ ํฌ๊ฒŒ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋จผ์ €, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์–ดํ…์…˜ ๊ธฐ๋Šฅ์„ ํฌํ•จํ•˜๋Š” ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜2์˜ ์ตœ์‹  ๋ฒ„์ „์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

pip install -U flash-attn --no-build-isolation

ํ•˜๋“œ์›จ์–ด์™€ ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜2์˜ ํ˜ธํ™˜์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•˜์„ธ์š”. ์ด์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜ ์ €์žฅ์†Œ์˜ ๊ณต์‹ ๋ฌธ์„œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ชจ๋ธ์„ ๋ฐ˜์ •๋ฐ€๋„(์˜ˆ: torch.float16)๋กœ ๋ถˆ๋Ÿฌ์™€์•ผํ•ฉ๋‹ˆ๋‹ค.

ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜2๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋ธ์„ ๋ถˆ๋Ÿฌ์˜ค๊ณ  ์‹คํ–‰ํ•˜๋ ค๋ฉด ์•„๋ž˜ ์ฝ”๋“œ ์Šค๋‹ˆํŽซ์„ ์ฐธ์กฐํ•˜์„ธ์š”:

>>> import torch
>>> from transformers import AutoModelForCausalLM, AutoTokenizer

>>> model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-v0.1", torch_dtype=torch.float16, attn_implementation="flash_attention_2", device_map="auto")
>>> tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-v0.1")

>>> prompt = "My favourite condiment is"

>>> model_inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
>>> model.to(device)

>>> generated_ids = model.generate(**model_inputs, max_new_tokens=100, do_sample=True)
>>> tokenizer.batch_decode(generated_ids)[0]
"My favourite condiment is to (...)"

๊ธฐ๋Œ€ํ•˜๋Š” ์†๋„ ํ–ฅ์ƒ[[expected-speedups]]

๋‹ค์Œ์€ mistralai/Mistral-7B-v0.1 ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•œ ํŠธ๋žœ์Šคํฌ๋จธ์˜ ๊ธฐ๋ณธ ๊ตฌํ˜„๊ณผ ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜2 ๋ฒ„์ „ ๋ชจ๋ธ ์‚ฌ์ด์˜ ์ˆœ์ˆ˜ ์ถ”๋ก  ์‹œ๊ฐ„์„ ๋น„๊ตํ•œ ์˜ˆ์ƒ ์†๋„ ํ–ฅ์ƒ ๋‹ค์ด์–ด๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์–ดํ…์…˜[[sliding-window-attention]]

ํ˜„์žฌ ๊ตฌํ˜„์€ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์–ดํ…์…˜ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ธ ์บ์‹œ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์–ดํ…์…˜์„ ํ™œ์„ฑํ™”ํ•˜๋ ค๋ฉด, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์–ดํ…์…˜๊ณผ ํ˜ธํ™˜๋˜๋Š”flash-attn(>=2.3.0)๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ํ”Œ๋ž˜์‹œ ์–ดํ…์…˜2 ๋ชจ๋ธ์€ ๋” ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ธ ์บ์‹œ ์Šฌ๋ผ์ด์‹ฑ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ฏธ์ŠคํŠธ๋ž„ ๋ชจ๋ธ์˜ ๊ณต์‹ ๊ตฌํ˜„์—์„œ ๊ถŒ์žฅํ•˜๋Š” ๋กค๋ง ์บ์‹œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋”ฐ๋ผ, ์บ์‹œ ํฌ๊ธฐ๋ฅผ ๊ณ ์ •(self.config.sliding_window)์œผ๋กœ ์œ ์ง€ํ•˜๊ณ , padding_side="left"์ธ ๊ฒฝ์šฐ์—๋งŒ ๋ฐฐ์น˜ ์ƒ์„ฑ(batch generation)์„ ์ง€์›ํ•˜๋ฉฐ, ํ˜„์žฌ ํ† ํฐ์˜ ์ ˆ๋Œ€ ์œ„์น˜๋ฅผ ์‚ฌ์šฉํ•ด ์œ„์น˜ ์ž„๋ฒ ๋”ฉ์„ ๊ณ„์‚ฐํ•ฉ๋‹ˆ๋‹ค.

์–‘์žํ™”๋กœ ๋ฏธ์ŠคํŠธ๋ž„ ํฌ๊ธฐ ์ค„์ด๊ธฐ[[shrinking-down-mistral-using-quantization]]

๋ฏธ์ŠคํŠธ๋ž„ ๋ชจ๋ธ์€ 70์–ต ๊ฐœ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด, ์ ˆ๋ฐ˜์˜ ์ •๋ฐ€๋„(float16)๋กœ ์•ฝ 14GB์˜ GPU RAM์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ 2๋ฐ”์ดํŠธ๋กœ ์ €์žฅ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์–‘์žํ™”๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋ธ ํฌ๊ธฐ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ 4๋น„ํŠธ(์ฆ‰, ํŒŒ๋ผ๋ฏธํ„ฐ๋‹น ๋ฐ˜ ๋ฐ”์ดํŠธ)๋กœ ์–‘์žํ™”ํ•˜๋ฉด ์•ฝ 3.5GB์˜ RAM๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ์„ ์–‘์žํ™”ํ•˜๋Š” ๊ฒƒ์€ quantization_config๋ฅผ ๋ชจ๋ธ์— ์ „๋‹ฌํ•˜๋Š” ๊ฒƒ๋งŒํผ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ๋Š” BitsAndBytes ์–‘์žํ™”๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, ๋‹ค๋ฅธ ์–‘์žํ™” ๋ฐฉ๋ฒ•์€ ์ด ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”:

>>> import torch
>>> from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig

>>> # specify how to quantize the model
>>> quantization_config = BitsAndBytesConfig(
...         load_in_4bit=True,
...         bnb_4bit_quant_type="nf4",
...         bnb_4bit_compute_dtype="torch.float16",
... )

>>> model = AutoModelForCausalLM.from_pretrained("mistralai/Mistral-7B-Instruct-v0.2", quantization_config=True, device_map="auto")
>>> tokenizer = AutoTokenizer.from_pretrained("mistralai/Mistral-7B-Instruct-v0.2")

>>> prompt = "My favourite condiment is"

>>> messages = [
...     {"role": "user", "content": "What is your favourite condiment?"},
...     {"role": "assistant", "content": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"},
...     {"role": "user", "content": "Do you have mayonnaise recipes?"}
... ]

>>> model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt").to("cuda")

>>> generated_ids = model.generate(model_inputs, max_new_tokens=100, do_sample=True)
>>> tokenizer.batch_decode(generated_ids)[0]
"The expected output"

์ด ๋ชจ๋ธ์€ Younes Belkada์™€ Arthur Zucker๊ฐ€ ๊ธฐ์—ฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์›๋ณธ ์ฝ”๋“œ๋Š” ์ด๊ณณ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค[[resources]]

๋ฏธ์ŠคํŠธ๋ž„์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” Hugging Face์™€ community ์ž๋ฃŒ ๋ชฉ๋ก(๐ŸŒŽ๋กœ ํ‘œ์‹œ๋จ) ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— ํฌํ•จ๋  ์ž๋ฃŒ๋ฅผ ์ œ์ถœํ•˜๊ณ  ์‹ถ์œผ์‹œ๋‹ค๋ฉด PR(Pull Request)๋ฅผ ์—ด์–ด์ฃผ์„ธ์š”. ๋ฆฌ๋ทฐํ•ด ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค! ์ž๋ฃŒ๋Š” ๊ธฐ์กด ์ž๋ฃŒ๋ฅผ ๋ณต์ œํ•˜๋Š” ๋Œ€์‹  ์ƒˆ๋กœ์šด ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฏธ์ŠคํŠธ๋ž„-7B์˜ ์ง€๋„ํ˜• ๋ฏธ์„ธ์กฐ์ •(SFT)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐ๋ชจ ๋…ธํŠธ๋ถ์€ ์ด๊ณณ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๐ŸŒŽ
  • 2024๋…„์— Hugging Face ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด LLM์„ ๋ฏธ์„ธ ์กฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ๋ธ”๋กœ๊ทธ ํฌ์ŠคํŠธ. ๐ŸŒŽ
  • Hugging Face์˜ ์ •๋ ฌ(Alignment) ํ•ธ๋“œ๋ถ์—๋Š” ๋ฏธ์ŠคํŠธ๋ž„-7B๋ฅผ ์‚ฌ์šฉํ•œ ์ง€๋„ํ˜• ๋ฏธ์„ธ ์กฐ์ •(SFT) ๋ฐ ์ง์ ‘ ์„ ํ˜ธ ์ตœ์ ํ™”(DPO)๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ์™€ ๋ ˆ์‹œํ”ผ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‹จ์ผ GPU์—์„œ QLoRa ๋ฐ ๋‹ค์ค‘ GPU๋ฅผ ์‚ฌ์šฉํ•œ ์ „์ฒด ๋ฏธ์„ธ ์กฐ์ •์„ ์œ„ํ•œ ์Šคํฌ๋ฆฝํŠธ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ธ๊ณผ์  ์–ธ์–ด ๋ชจ๋ธ๋ง ์ž‘์—… ๊ฐ€์ด๋“œ

MistralConfig[[transformers.MistralConfig]]

[[autodoc]] MistralConfig

MistralModel[[transformers.MistralModel]]

[[autodoc]] MistralModel - forward

MistralForCausalLM[[transformers.MistralForCausalLM]]

[[autodoc]] MistralForCausalLM - forward

MistralForSequenceClassification[[transformers.MistralForSequenceClassification]]

[[autodoc]] MistralForSequenceClassification - forward

MistralForTokenClassification[[transformers.MistralForTokenClassification]]

[[autodoc]] MistralForTokenClassification - forward

FlaxMistralModel[[transformers.FlaxMistralModel]]

[[autodoc]] FlaxMistralModel - call

FlaxMistralForCausalLM[[transformers.FlaxMistralForCausalLM]]

[[autodoc]] FlaxMistralForCausalLM - call

TFMistralModel[[transformers.TFMistralModel]]

[[autodoc]] TFMistralModel - call

TFMistralForCausalLM[[transformers.TFMistralForCausalLM]]

[[autodoc]] TFMistralForCausalLM - call

TFMistralForSequenceClassification[[transformers.TFMistralForSequenceClassification]]

[[autodoc]] TFMistralForSequenceClassification - call