Buckets:

rtrm's picture
download
raw
18.4 kB
import{s as Bt,o as Pt,n as Ut}from"../chunks/scheduler.bdbef820.js";import{S as Lt,i as zt,g as m,s as n,r as i,A as Ht,h as r,f as l,c as p,j as Ft,u as f,x as J,k as Qt,y as Nt,a as s,v as u,d,t as c,w as M}from"../chunks/index.33f81d56.js";import{T as wt}from"../chunks/Tip.34194030.js";import{C as $}from"../chunks/CodeBlock.362b34a4.js";import{H as xt,E as Yt}from"../chunks/EditOnGithub.a9246e21.js";function Dt(g){let a,T='PEFT๋ฅผ ํ™œ์šฉํ•œ GPTQ ์–‘์žํ™”๋ฅผ ์‚ฌ์šฉํ•ด๋ณด์‹œ๋ ค๋ฉด ์ด <a href="https://colab.research.google.com/drive/1_TIrmuKOFhuRRiTWN94iLKUFu6ZX4ceb" rel="nofollow">๋…ธํŠธ๋ถ</a>์„ ์ฐธ๊ณ ํ•˜์‹œ๊ณ , ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ด <a href="https://huggingface.co/blog/gptq-integration" rel="nofollow">๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ</a>์—์„œ ํ™•์ธํ•˜์„ธ์š”!';return{c(){a=m("p"),a.innerHTML=T},l(o){a=r(o,"P",{"data-svelte-h":!0}),J(a)!=="svelte-1da9pno"&&(a.innerHTML=T)},m(o,b){s(o,a,b)},p:Ut,d(o){o&&l(a)}}}function At(g){let a,T='ํ•˜๋“œ์›จ์–ด์™€ ๋ชจ๋ธ ๋งค๊ฐœ๋ณ€์ˆ˜๋Ÿ‰์— ๋”ฐ๋ผ ๋ชจ๋ธ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์–‘์žํ™”ํ•˜๋Š” ๋ฐ ๋“œ๋Š” ์‹œ๊ฐ„์ด ์„œ๋กœ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฌด๋ฃŒ ๋“ฑ๊ธ‰์˜ Google Colab GPU๋กœ ๋น„๊ต์  ๊ฐ€๋ฒผ์šด <a href="https://huggingface.co/facebook/opt-350m" rel="nofollow">facebook/opt-350m</a> ๋ชจ๋ธ์„ ์–‘์žํ™”ํ•˜๋Š” ๋ฐ ์•ฝ 5๋ถ„์ด ๊ฑธ๋ฆฌ์ง€๋งŒ, NVIDIA A100์œผ๋กœ 175B์— ๋‹ฌํ•˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์ง„ ๋ชจ๋ธ์„ ์–‘์žํ™”ํ•˜๋Š” ๋ฐ๋Š” ์•ฝ 4์‹œ๊ฐ„์— ๋‹ฌํ•˜๋Š” ์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์„ ์–‘์žํ™”ํ•˜๊ธฐ ์ „์—, Hub์—์„œ ํ•ด๋‹น ๋ชจ๋ธ์˜ GPTQ ์–‘์žํ™” ๋ฒ„์ „์ด ์ด๋ฏธ ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.';return{c(){a=m("p"),a.innerHTML=T},l(o){a=r(o,"P",{"data-svelte-h":!0}),J(a)!=="svelte-1yg57hz"&&(a.innerHTML=T)},m(o,b){s(o,a,b)},p:Ut,d(o){o&&l(a)}}}function St(g){let a,T="4๋น„ํŠธ ๋ชจ๋ธ๋งŒ ์ง€์›๋˜๋ฉฐ, ์–‘์žํ™”๋œ ๋ชจ๋ธ์„ PEFT๋กœ ๋ฏธ์„ธ ์กฐ์ •ํ•˜๋Š” ๊ฒฝ์šฐ ExLlama ์ปค๋„์„ ๋น„ํ™œ์„ฑํ™”ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.";return{c(){a=m("p"),a.textContent=T},l(o){a=r(o,"P",{"data-svelte-h":!0}),J(a)!=="svelte-rq1jxq"&&(a.textContent=T)},m(o,b){s(o,a,b)},p:Ut,d(o){o&&l(a)}}}function Kt(g){let a,T,o,b,U,D,h,A,_,_t='<a href="https://github.com/PanQiWei/AutoGPTQ" rel="nofollow">AutoGPTQ</a> ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” GPTQ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํ›ˆ๋ จ ํ›„ ์–‘์žํ™” ๊ธฐ๋ฒ•์œผ๋กœ, ๊ฐ€์ค‘์น˜ ํ–‰๋ ฌ์˜ ๊ฐ ํ–‰์„ ๋…๋ฆฝ์ ์œผ๋กœ ์–‘์žํ™”ํ•˜์—ฌ ์˜ค์ฐจ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋Š” ๊ฐ€์ค‘์น˜ ๋ฒ„์ „์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐ€์ค‘์น˜๋Š” int4๋กœ ์–‘์žํ™”๋˜์ง€๋งŒ, ์ถ”๋ก  ์ค‘์—๋Š” ์‹ค์‹œ๊ฐ„์œผ๋กœ fp16์œผ๋กœ ๋ณต์›๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” int4 ๊ฐ€์ค‘์น˜๊ฐ€ GPU์˜ ์ „์—ญ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€์‹  ๊ฒฐํ•ฉ๋œ ์ปค๋„์—์„œ ์—ญ์–‘์žํ™”๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ 4๋ฐฐ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋” ๋‚ฎ์€ ๋น„ํŠธ ๋„ˆ๋น„๋ฅผ ์‚ฌ์šฉํ•จ์œผ๋กœ์จ ํ†ต์‹  ์‹œ๊ฐ„์ด ์ค„์–ด๋“ค์–ด ์ถ”๋ก  ์†๋„๊ฐ€ ๋นจ๋ผ์งˆ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.',S,C,Ct="์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ๋‹ค์Œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋“ค์ด ์„ค์น˜๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์„ธ์š”:",K,G,O,j,Gt='๋ชจ๋ธ์„ ์–‘์žํ™”ํ•˜๋ ค๋ฉด(ํ˜„์žฌ ํ…์ŠคํŠธ ๋ชจ๋ธ๋งŒ ์ง€์›๋จ) <a href="/docs/transformers/pr_36839/ko/main_classes/quantization#transformers.GPTQConfig">GPTQConfig</a> ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์–‘์žํ™”ํ•  ๋น„ํŠธ ์ˆ˜, ์–‘์žํ™”๋ฅผ ์œ„ํ•œ ๊ฐ€์ค‘์น˜ ๊ต์ • ๋ฐ์ดํ„ฐ์…‹, ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ์…‹์„ ์ค€๋น„ํ•˜๊ธฐ ์œ„ํ•œ ํ† ํฌ๋‚˜์ด์ €๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.',tt,V,et,Z,jt="์ž์‹ ์˜ ๋ฐ์ดํ„ฐ์…‹์„ ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ์ „๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, GPTQ ๋…ผ๋ฌธ์—์„œ ์‚ฌ์šฉํ•œ ๋™์ผํ•œ ๋ฐ์ดํ„ฐ์…‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.",lt,k,st,q,Vt='์–‘์žํ™”ํ•  ๋ชจ๋ธ์„ ๋กœ๋“œํ•˜๊ณ  <code>gptq_config</code>์„ <a href="/docs/transformers/pr_36839/ko/model_doc/auto#transformers.AutoModel.from_pretrained">from_pretrained()</a> ๋ฉ”์†Œ๋“œ์— ์ „๋‹ฌํ•˜์„ธ์š”. ๋ชจ๋ธ์„ ๋ฉ”๋ชจ๋ฆฌ์— ๋งž์ถ”๊ธฐ ์œ„ํ•ด <code>device_map=&quot;auto&quot;</code>๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋ธ์„ ์ž๋™์œผ๋กœ CPU๋กœ ์˜คํ”„๋กœ๋“œํ•˜๊ณ , ์–‘์žํ™”๋ฅผ ์œ„ํ•ด ๋ชจ๋ธ ๋ชจ๋“ˆ์ด CPU์™€ GPU ๊ฐ„์— ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.',at,v,nt,E,Zt="๋ฐ์ดํ„ฐ์…‹์ด ๋„ˆ๋ฌด ์ปค์„œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•œ ๋””์Šคํฌ ์˜คํ”„๋กœ๋“œ๋Š” ํ˜„์žฌ ์ง€์›ํ•˜์ง€ ์•Š๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿด ๋•Œ๋Š” <code>max_memory</code> ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””๋ฐ”์ด์Šค(GPU ๋ฐ CPU)์—์„œ ์‚ฌ์šฉํ•  ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ํ• ๋‹นํ•ด ๋ณด์„ธ์š”:",pt,R,ot,y,mt,X,kt='๋ชจ๋ธ์ด ์–‘์žํ™”๋˜๋ฉด, ๋ชจ๋ธ๊ณผ ํ† ํฌ๋‚˜์ด์ €๋ฅผ Hub์— ํ‘ธ์‹œํ•˜์—ฌ ์‰ฝ๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. <a href="/docs/transformers/pr_36839/ko/main_classes/quantization#transformers.GPTQConfig">GPTQConfig</a>๋ฅผ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด <a href="/docs/transformers/pr_36839/ko/main_classes/model#transformers.utils.PushToHubMixin.push_to_hub">push_to_hub()</a> ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”:',rt,I,it,W,qt='์–‘์žํ™”๋œ ๋ชจ๋ธ์„ ๋กœ์ปฌ์— ์ €์žฅํ•˜๋ ค๋ฉด <a href="/docs/transformers/pr_36839/ko/main_classes/model#transformers.PreTrainedModel.save_pretrained">save_pretrained()</a> ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋ธ์ด <code>device_map</code> ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์–‘์žํ™”๋˜์—ˆ์„ ๊ฒฝ์šฐ, ์ €์žฅํ•˜๊ธฐ ์ „์— ์ „์ฒด ๋ชจ๋ธ์„ GPU๋‚˜ CPU๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจ๋ธ์„ CPU์— ์ €์žฅํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ฉ๋‹ˆ๋‹ค:',ft,F,ut,Q,vt='์–‘์žํ™”๋œ ๋ชจ๋ธ์„ ๋‹ค์‹œ ๋กœ๋“œํ•˜๋ ค๋ฉด <a href="/docs/transformers/pr_36839/ko/main_classes/model#transformers.PreTrainedModel.from_pretrained">from_pretrained()</a> ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ , <code>device_map=&quot;auto&quot;</code>๋ฅผ ์„ค์ •ํ•˜์—ฌ ๋ชจ๋“  ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ GPU์— ๋ชจ๋ธ์„ ์ž๋™์œผ๋กœ ๋ถ„์‚ฐ์‹œ์ผœ ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ๋ชจ๋ธ์„ ๋” ๋น ๋ฅด๊ฒŒ ๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.',dt,x,ct,B,Mt,P,Et='<a href="https://github.com/turboderp/exllama" rel="nofollow">ExLlama</a>์€ <a href="model_doc/llama">Llama</a> ๋ชจ๋ธ์˜ Python/C++/CUDA ๊ตฌํ˜„์ฒด๋กœ, 4๋น„ํŠธ GPTQ ๊ฐ€์ค‘์น˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋” ๋น ๋ฅธ ์ถ”๋ก ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ด <a href="https://github.com/huggingface/optimum/tree/main/tests/benchmark#gptq-benchmark" rel="nofollow">๋ฒค์น˜๋งˆํฌ</a>๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”). [โ€˜GPTQConfigโ€™] ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ๋•Œ ExLlama ์ปค๋„์ด ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค. ์ถ”๋ก  ์†๋„๋ฅผ ๋”์šฑ ๋†’์ด๊ธฐ ์œ„ํ•ด, <code>exllama_config</code> ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ <a href="https://github.com/turboderp/exllamav2" rel="nofollow">ExLlamaV2</a> ์ปค๋„์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:',Jt,L,Tt,w,bt,z,Rt="ExLlama ์ปค๋„์€ ์ „์ฒด ๋ชจ๋ธ์ด GPU์— ์žˆ์„ ๋•Œ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค. AutoGPTQ(๋ฒ„์ „ 0.4.2 ์ด์ƒ)๋กœ CPU์—์„œ ์ถ”๋ก ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ ExLlama ์ปค๋„์„ ๋น„ํ™œ์„ฑํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด config.json ํŒŒ์ผ์˜ ์–‘์žํ™” ์„ค์ •์—์„œ ExLlama ์ปค๋„๊ณผ ๊ด€๋ จ๋œ ์†์„ฑ์„ ๋ฎ์–ด์จ์•ผ ํ•ฉ๋‹ˆ๋‹ค.",$t,H,gt,N,ht,Y,yt;return U=new xt({props:{title:"GPTQ",local:"gptq",headingTag:"h1"}}),h=new wt({props:{$$slots:{default:[Dt]},$$scope:{ctx:g}}}),G=new $({props:{code:"cGlwJTIwaW5zdGFsbCUyMGF1dG8tZ3B0cSUwQXBpcCUyMGluc3RhbGwlMjAtLXVwZ3JhZGUlMjBhY2NlbGVyYXRlJTIwb3B0aW11bSUyMHRyYW5zZm9ybWVycw==",highlighted:`pip install auto-gptq
pip install --upgrade accelerate optimum transformers`,wrap:!1}}),V=new $({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvckNhdXNhbExNJTJDJTIwQXV0b1Rva2VuaXplciUyQyUyMEdQVFFDb25maWclMEElMEFtb2RlbF9pZCUyMCUzRCUyMCUyMmZhY2Vib29rJTJGb3B0LTEyNW0lMjIlMEF0b2tlbml6ZXIlMjAlM0QlMjBBdXRvVG9rZW5pemVyLmZyb21fcHJldHJhaW5lZChtb2RlbF9pZCklMEFncHRxX2NvbmZpZyUyMCUzRCUyMEdQVFFDb25maWcoYml0cyUzRDQlMkMlMjBkYXRhc2V0JTNEJTIyYzQlMjIlMkMlMjB0b2tlbml6ZXIlM0R0b2tlbml6ZXIp",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM, AutoTokenizer, GPTQConfig
model_id = <span class="hljs-string">&quot;facebook/opt-125m&quot;</span>
tokenizer = AutoTokenizer.from_pretrained(model_id)
gptq_config = GPTQConfig(bits=<span class="hljs-number">4</span>, dataset=<span class="hljs-string">&quot;c4&quot;</span>, tokenizer=tokenizer)`,wrap:!1}}),k=new $({props:{code:"ZGF0YXNldCUyMCUzRCUyMCU1QiUyMmF1dG8tZ3B0cSUyMGlzJTIwYW4lMjBlYXN5LXRvLXVzZSUyMG1vZGVsJTIwcXVhbnRpemF0aW9uJTIwbGlicmFyeSUyMHdpdGglMjB1c2VyLWZyaWVuZGx5JTIwYXBpcyUyQyUyMGJhc2VkJTIwb24lMjBHUFRRJTIwYWxnb3JpdGhtLiUyMiU1RCUwQWdwdHFfY29uZmlnJTIwJTNEJTIwR1BUUUNvbmZpZyhiaXRzJTNENCUyQyUyMGRhdGFzZXQlM0RkYXRhc2V0JTJDJTIwdG9rZW5pemVyJTNEdG9rZW5pemVyKQ==",highlighted:`dataset = [<span class="hljs-string">&quot;auto-gptq is an easy-to-use model quantization library with user-friendly apis, based on GPTQ algorithm.&quot;</span>]
gptq_config = GPTQConfig(bits=<span class="hljs-number">4</span>, dataset=dataset, tokenizer=tokenizer)`,wrap:!1}}),v=new $({props:{code:"cXVhbnRpemVkX21vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yQ2F1c2FsTE0uZnJvbV9wcmV0cmFpbmVkKG1vZGVsX2lkJTJDJTIwZGV2aWNlX21hcCUzRCUyMmF1dG8lMjIlMkMlMjBxdWFudGl6YXRpb25fY29uZmlnJTNEZ3B0cV9jb25maWcp",highlighted:'quantized_model = AutoModelForCausalLM.from_pretrained(model_id, device_map=<span class="hljs-string">&quot;auto&quot;</span>, quantization_config=gptq_config)',wrap:!1}}),R=new $({props:{code:"cXVhbnRpemVkX21vZGVsJTIwJTNEJTIwQXV0b01vZGVsRm9yQ2F1c2FsTE0uZnJvbV9wcmV0cmFpbmVkKG1vZGVsX2lkJTJDJTIwZGV2aWNlX21hcCUzRCUyMmF1dG8lMjIlMkMlMjBtYXhfbWVtb3J5JTNEJTdCMCUzQSUyMCUyMjMwR2lCJTIyJTJDJTIwMSUzQSUyMCUyMjQ2R2lCJTIyJTJDJTIwJTIyY3B1JTIyJTNBJTIwJTIyMzBHaUIlMjIlN0QlMkMlMjBxdWFudGl6YXRpb25fY29uZmlnJTNEZ3B0cV9jb25maWcp",highlighted:'quantized_model = AutoModelForCausalLM.from_pretrained(model_id, device_map=<span class="hljs-string">&quot;auto&quot;</span>, max_memory={<span class="hljs-number">0</span>: <span class="hljs-string">&quot;30GiB&quot;</span>, <span class="hljs-number">1</span>: <span class="hljs-string">&quot;46GiB&quot;</span>, <span class="hljs-string">&quot;cpu&quot;</span>: <span class="hljs-string">&quot;30GiB&quot;</span>}, quantization_config=gptq_config)',wrap:!1}}),y=new wt({props:{warning:!0,$$slots:{default:[At]},$$scope:{ctx:g}}}),I=new $({props:{code:"cXVhbnRpemVkX21vZGVsLnB1c2hfdG9faHViKCUyMm9wdC0xMjVtLWdwdHElMjIpJTBBdG9rZW5pemVyLnB1c2hfdG9faHViKCUyMm9wdC0xMjVtLWdwdHElMjIp",highlighted:`quantized_model.push_to_hub(<span class="hljs-string">&quot;opt-125m-gptq&quot;</span>)
tokenizer.push_to_hub(<span class="hljs-string">&quot;opt-125m-gptq&quot;</span>)`,wrap:!1}}),F=new $({props:{code:"cXVhbnRpemVkX21vZGVsLnNhdmVfcHJldHJhaW5lZCglMjJvcHQtMTI1bS1ncHRxJTIyKSUwQXRva2VuaXplci5zYXZlX3ByZXRyYWluZWQoJTIyb3B0LTEyNW0tZ3B0cSUyMiklMEElMEElMjMlMjBkZXZpY2VfbWFwJUVDJTlEJUI0JTIwJUVDJTg0JUE0JUVDJUEwJTk1JUVCJTkwJTlDJTIwJUVDJTgzJTgxJUVEJTgzJTlDJUVDJTk3JTkwJUVDJTg0JTlDJTIwJUVDJTk2JTkxJUVDJTlFJTkwJUVEJTk5JTk0JUVCJTkwJTlDJTIwJUVBJUIyJUJEJUVDJTlBJUIwJTBBcXVhbnRpemVkX21vZGVsLnRvKCUyMmNwdSUyMiklMEFxdWFudGl6ZWRfbW9kZWwuc2F2ZV9wcmV0cmFpbmVkKCUyMm9wdC0xMjVtLWdwdHElMjIp",highlighted:`quantized_model.save_pretrained(<span class="hljs-string">&quot;opt-125m-gptq&quot;</span>)
tokenizer.save_pretrained(<span class="hljs-string">&quot;opt-125m-gptq&quot;</span>)
<span class="hljs-comment"># device_map์ด ์„ค์ •๋œ ์ƒํƒœ์—์„œ ์–‘์žํ™”๋œ ๊ฒฝ์šฐ</span>
quantized_model.to(<span class="hljs-string">&quot;cpu&quot;</span>)
quantized_model.save_pretrained(<span class="hljs-string">&quot;opt-125m-gptq&quot;</span>)`,wrap:!1}}),x=new $({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycyUyMGltcG9ydCUyMEF1dG9Nb2RlbEZvckNhdXNhbExNJTBBJTBBbW9kZWwlMjAlM0QlMjBBdXRvTW9kZWxGb3JDYXVzYWxMTS5mcm9tX3ByZXRyYWluZWQoJTIyJTdCeW91cl91c2VybmFtZSU3RCUyRm9wdC0xMjVtLWdwdHElMjIlMkMlMjBkZXZpY2VfbWFwJTNEJTIyYXV0byUyMik=",highlighted:`<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained(<span class="hljs-string">&quot;{your_username}/opt-125m-gptq&quot;</span>, device_map=<span class="hljs-string">&quot;auto&quot;</span>)`,wrap:!1}}),B=new xt({props:{title:"ExLlama",local:"exllama",headingTag:"h2"}}),L=new $({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQXV0b01vZGVsRm9yQ2F1c2FsTE0lMkMlMjBHUFRRQ29uZmlnJTBBJTBBZ3B0cV9jb25maWclMjAlM0QlMjBHUFRRQ29uZmlnKGJpdHMlM0Q0JTJDJTIwZXhsbGFtYV9jb25maWclM0QlN0IlMjJ2ZXJzaW9uJTIyJTNBMiU3RCklMEFtb2RlbCUyMCUzRCUyMEF1dG9Nb2RlbEZvckNhdXNhbExNLmZyb21fcHJldHJhaW5lZCglMjIlN0J5b3VyX3VzZXJuYW1lJTdEJTJGb3B0LTEyNW0tZ3B0cSUyMiUyQyUyMGRldmljZV9tYXAlM0QlMjJhdXRvJTIyJTJDJTIwcXVhbnRpemF0aW9uX2NvbmZpZyUzRGdwdHFfY29uZmlnKQ==",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM, GPTQConfig
gptq_config = GPTQConfig(bits=<span class="hljs-number">4</span>, exllama_config={<span class="hljs-string">&quot;version&quot;</span>:<span class="hljs-number">2</span>})
model = AutoModelForCausalLM.from_pretrained(<span class="hljs-string">&quot;{your_username}/opt-125m-gptq&quot;</span>, device_map=<span class="hljs-string">&quot;auto&quot;</span>, quantization_config=gptq_config)`,wrap:!1}}),w=new wt({props:{warning:!0,$$slots:{default:[St]},$$scope:{ctx:g}}}),H=new $({props:{code:"aW1wb3J0JTIwdG9yY2glMEFmcm9tJTIwdHJhbnNmb3JtZXJzJTIwaW1wb3J0JTIwQXV0b01vZGVsRm9yQ2F1c2FsTE0lMkMlMjBHUFRRQ29uZmlnJTBBZ3B0cV9jb25maWclMjAlM0QlMjBHUFRRQ29uZmlnKGJpdHMlM0Q0JTJDJTIwdXNlX2V4bGxhbWElM0RGYWxzZSklMEFtb2RlbCUyMCUzRCUyMEF1dG9Nb2RlbEZvckNhdXNhbExNLmZyb21fcHJldHJhaW5lZCglMjIlN0J5b3VyX3VzZXJuYW1lJTdEJTJGb3B0LTEyNW0tZ3B0cSUyMiUyQyUyMGRldmljZV9tYXAlM0QlMjJjcHUlMjIlMkMlMjBxdWFudGl6YXRpb25fY29uZmlnJTNEZ3B0cV9jb25maWcp",highlighted:`<span class="hljs-keyword">import</span> torch
<span class="hljs-keyword">from</span> transformers <span class="hljs-keyword">import</span> AutoModelForCausalLM, GPTQConfig
gptq_config = GPTQConfig(bits=<span class="hljs-number">4</span>, use_exllama=<span class="hljs-literal">False</span>)
model = AutoModelForCausalLM.from_pretrained(<span class="hljs-string">&quot;{your_username}/opt-125m-gptq&quot;</span>, device_map=<span class="hljs-string">&quot;cpu&quot;</span>, quantization_config=gptq_config)`,wrap:!1}}),N=new Yt({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ko/quantization/gptq.md"}}),{c(){a=m("meta"),T=n(),o=m("p"),b=n(),i(U.$$.fragment),D=n(),i(h.$$.fragment),A=n(),_=m("p"),_.innerHTML=_t,S=n(),C=m("p"),C.textContent=Ct,K=n(),i(G.$$.fragment),O=n(),j=m("p"),j.innerHTML=Gt,tt=n(),i(V.$$.fragment),et=n(),Z=m("p"),Z.textContent=jt,lt=n(),i(k.$$.fragment),st=n(),q=m("p"),q.innerHTML=Vt,at=n(),i(v.$$.fragment),nt=n(),E=m("p"),E.innerHTML=Zt,pt=n(),i(R.$$.fragment),ot=n(),i(y.$$.fragment),mt=n(),X=m("p"),X.innerHTML=kt,rt=n(),i(I.$$.fragment),it=n(),W=m("p"),W.innerHTML=qt,ft=n(),i(F.$$.fragment),ut=n(),Q=m("p"),Q.innerHTML=vt,dt=n(),i(x.$$.fragment),ct=n(),i(B.$$.fragment),Mt=n(),P=m("p"),P.innerHTML=Et,Jt=n(),i(L.$$.fragment),Tt=n(),i(w.$$.fragment),bt=n(),z=m("p"),z.textContent=Rt,$t=n(),i(H.$$.fragment),gt=n(),i(N.$$.fragment),ht=n(),Y=m("p"),this.h()},l(t){const e=Ht("svelte-u9bgzb",document.head);a=r(e,"META",{name:!0,content:!0}),e.forEach(l),T=p(t),o=r(t,"P",{}),Ft(o).forEach(l),b=p(t),f(U.$$.fragment,t),D=p(t),f(h.$$.fragment,t),A=p(t),_=r(t,"P",{"data-svelte-h":!0}),J(_)!=="svelte-1vdg1r0"&&(_.innerHTML=_t),S=p(t),C=r(t,"P",{"data-svelte-h":!0}),J(C)!=="svelte-1lpb91s"&&(C.textContent=Ct),K=p(t),f(G.$$.fragment,t),O=p(t),j=r(t,"P",{"data-svelte-h":!0}),J(j)!=="svelte-1lyza2n"&&(j.innerHTML=Gt),tt=p(t),f(V.$$.fragment,t),et=p(t),Z=r(t,"P",{"data-svelte-h":!0}),J(Z)!=="svelte-16sjond"&&(Z.textContent=jt),lt=p(t),f(k.$$.fragment,t),st=p(t),q=r(t,"P",{"data-svelte-h":!0}),J(q)!=="svelte-73rsfi"&&(q.innerHTML=Vt),at=p(t),f(v.$$.fragment,t),nt=p(t),E=r(t,"P",{"data-svelte-h":!0}),J(E)!=="svelte-lj3tj5"&&(E.innerHTML=Zt),pt=p(t),f(R.$$.fragment,t),ot=p(t),f(y.$$.fragment,t),mt=p(t),X=r(t,"P",{"data-svelte-h":!0}),J(X)!=="svelte-1d4gfur"&&(X.innerHTML=kt),rt=p(t),f(I.$$.fragment,t),it=p(t),W=r(t,"P",{"data-svelte-h":!0}),J(W)!=="svelte-1jk2gz2"&&(W.innerHTML=qt),ft=p(t),f(F.$$.fragment,t),ut=p(t),Q=r(t,"P",{"data-svelte-h":!0}),J(Q)!=="svelte-lwwz90"&&(Q.innerHTML=vt),dt=p(t),f(x.$$.fragment,t),ct=p(t),f(B.$$.fragment,t),Mt=p(t),P=r(t,"P",{"data-svelte-h":!0}),J(P)!=="svelte-1s3k1d1"&&(P.innerHTML=Et),Jt=p(t),f(L.$$.fragment,t),Tt=p(t),f(w.$$.fragment,t),bt=p(t),z=r(t,"P",{"data-svelte-h":!0}),J(z)!=="svelte-wx4irt"&&(z.textContent=Rt),$t=p(t),f(H.$$.fragment,t),gt=p(t),f(N.$$.fragment,t),ht=p(t),Y=r(t,"P",{}),Ft(Y).forEach(l),this.h()},h(){Qt(a,"name","hf:doc:metadata"),Qt(a,"content",Ot)},m(t,e){Nt(document.head,a),s(t,T,e),s(t,o,e),s(t,b,e),u(U,t,e),s(t,D,e),u(h,t,e),s(t,A,e),s(t,_,e),s(t,S,e),s(t,C,e),s(t,K,e),u(G,t,e),s(t,O,e),s(t,j,e),s(t,tt,e),u(V,t,e),s(t,et,e),s(t,Z,e),s(t,lt,e),u(k,t,e),s(t,st,e),s(t,q,e),s(t,at,e),u(v,t,e),s(t,nt,e),s(t,E,e),s(t,pt,e),u(R,t,e),s(t,ot,e),u(y,t,e),s(t,mt,e),s(t,X,e),s(t,rt,e),u(I,t,e),s(t,it,e),s(t,W,e),s(t,ft,e),u(F,t,e),s(t,ut,e),s(t,Q,e),s(t,dt,e),u(x,t,e),s(t,ct,e),u(B,t,e),s(t,Mt,e),s(t,P,e),s(t,Jt,e),u(L,t,e),s(t,Tt,e),u(w,t,e),s(t,bt,e),s(t,z,e),s(t,$t,e),u(H,t,e),s(t,gt,e),u(N,t,e),s(t,ht,e),s(t,Y,e),yt=!0},p(t,[e]){const Xt={};e&2&&(Xt.$$scope={dirty:e,ctx:t}),h.$set(Xt);const It={};e&2&&(It.$$scope={dirty:e,ctx:t}),y.$set(It);const Wt={};e&2&&(Wt.$$scope={dirty:e,ctx:t}),w.$set(Wt)},i(t){yt||(d(U.$$.fragment,t),d(h.$$.fragment,t),d(G.$$.fragment,t),d(V.$$.fragment,t),d(k.$$.fragment,t),d(v.$$.fragment,t),d(R.$$.fragment,t),d(y.$$.fragment,t),d(I.$$.fragment,t),d(F.$$.fragment,t),d(x.$$.fragment,t),d(B.$$.fragment,t),d(L.$$.fragment,t),d(w.$$.fragment,t),d(H.$$.fragment,t),d(N.$$.fragment,t),yt=!0)},o(t){c(U.$$.fragment,t),c(h.$$.fragment,t),c(G.$$.fragment,t),c(V.$$.fragment,t),c(k.$$.fragment,t),c(v.$$.fragment,t),c(R.$$.fragment,t),c(y.$$.fragment,t),c(I.$$.fragment,t),c(F.$$.fragment,t),c(x.$$.fragment,t),c(B.$$.fragment,t),c(L.$$.fragment,t),c(w.$$.fragment,t),c(H.$$.fragment,t),c(N.$$.fragment,t),yt=!1},d(t){t&&(l(T),l(o),l(b),l(D),l(A),l(_),l(S),l(C),l(K),l(O),l(j),l(tt),l(et),l(Z),l(lt),l(st),l(q),l(at),l(nt),l(E),l(pt),l(ot),l(mt),l(X),l(rt),l(it),l(W),l(ft),l(ut),l(Q),l(dt),l(ct),l(Mt),l(P),l(Jt),l(Tt),l(bt),l(z),l($t),l(gt),l(ht),l(Y)),l(a),M(U,t),M(h,t),M(G,t),M(V,t),M(k,t),M(v,t),M(R,t),M(y,t),M(I,t),M(F,t),M(x,t),M(B,t),M(L,t),M(w,t),M(H,t),M(N,t)}}}const Ot='{"title":"GPTQ","local":"gptq","sections":[{"title":"ExLlama","local":"exllama","sections":[],"depth":2}],"depth":1}';function te(g){return Pt(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class pe extends Lt{constructor(a){super(),zt(this,a,te,Kt,Bt,{})}}export{pe as component};

Xet Storage Details

Size:
18.4 kB
ยท
Xet hash:
dea33818ea84f26b7abe6992390f87793ade27d9c4c01dea58753c453906c3c8

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.