Buckets:
| import{s as oe,o as fe,n as Nl}from"../chunks/scheduler.bdbef820.js";import{S as Ce,i as Ze,g as p,s as a,r,A as Ae,h as M,f as e,c as t,j as ye,u as c,x as j,k as Ue,y as Ge,a as n,v as T,d as J,t as m,w as b}from"../chunks/index.33f81d56.js";import{T as kl}from"../chunks/Tip.34194030.js";import{C as i}from"../chunks/CodeBlock.362b34a4.js";import{H as _l,E as Ve}from"../chunks/EditOnGithub.a9246e21.js";function Be(I){let u,h="이 기능은 현재 PyTorch에서만 사용할 수 있습니다.";return{c(){u=p("p"),u.textContent=h},l(w){u=M(w,"P",{"data-svelte-h":!0}),j(u)!=="svelte-da6556"&&(u.textContent=h)},m(w,d){n(w,u,d)},p:Nl,d(w){w&&e(u)}}}function $e(I){let u,h="다중 GPU 훈련을 위해서는 DDP (<code>torch.distributed.launch</code>)가 필요합니다.";return{c(){u=p("p"),u.innerHTML=h},l(w){u=M(w,"P",{"data-svelte-h":!0}),j(u)!=="svelte-xlioya"&&(u.innerHTML=h)},m(w,d){n(w,u,d)},p:Nl,d(w){w&&e(u)}}}function Re(I){let u,h="이 기능은 <code>nn.Module</code>을 기반으로 하는 모델과 함께 사용할 수 있습니다.";return{c(){u=p("p"),u.innerHTML=h},l(w){u=M(w,"P",{"data-svelte-h":!0}),j(u)!=="svelte-1dhr1x4"&&(u.innerHTML=h)},m(w,d){n(w,u,d)},p:Nl,d(w){w&&e(u)}}}function _e(I){let u,h,w,d,f,As,C,Gs,Z,Ll="<code>DistributedDataParallel</code> 및 다중 GPU를 사용하여 훈련하거나 추론할 때, 프로세스 및/또는 노드 간의 상호 통신 문제가 발생하는 경우, 다음 스크립트를 사용하여 네트워크 문제를 진단할 수 있습니다.",Vs,A,Bs,G,Wl="예를 들어, 2개의 GPU가 상호 작용하는 방식을 테스트하려면 다음을 실행하세요:",$s,V,Rs,B,vl="두 프로세스가 서로 통신하고 GPU 메모리를 할당하는 경우, 각각 “OK” 상태를 출력합니다.",_s,$,xl="더 많은 GPU 또는 노드의 경우 스크립트의 인수를 조정하면 됩니다.",ks,R,El="진단 스크립트 내에서 더 많은 세부 정보와 SLURM 환경에서 실행하는 방법에 대한 레시피를 찾을 수 있습니다.",Ns,_,Xl="추가적인 디버그 수준은 다음과 같이 <code>NCCL_DEBUG=INFO</code> 환경 변수를 추가하는 것입니다:",Ls,k,Ws,N,Ql="이렇게 하면 NCCL 관련 디버그 정보가 많이 출력되며, 문제가 보고된 경우에는 인터넷에서 검색할 수 있습니다. 또는 출력을 해석하는 방법을 잘 모르는 경우 로그 파일을 이슈에 공유할 수 있습니다.",vs,L,xs,y,Es,U,Xs,o,Qs,W,Dl="<code>loss=NaN</code>이 나타나거나 모델이 <code>inf</code> 또는 <code>nan</code>으로 인해 다른 이상한 동작을 하는 경우, 언더플로 또는 오버플로의 첫 번째 발생 위치와 그 원인을 파악해야 합니다. 다행히도 이를 자동으로 감지하는 특수 모듈을 활성화하여 쉽게 알아낼 수 있습니다.",Ds,v,gl='<a href="/docs/transformers/pr_36049/ko/main_classes/trainer#transformers.Trainer">Trainer</a>를 사용하는 경우, 다음을 기존의 명령줄 인수에 추가하면 됩니다.',gs,x,Hs,E,Hl='또는 <a href="/docs/transformers/pr_36049/ko/main_classes/trainer#transformers.TrainingArguments">TrainingArguments</a> 객체를 생성할 때 <code>debug="underflow_overflow"</code>를 전달합니다.',Ys,X,Yl="자체 훈련 루프나 다른 Trainer를 사용하는 경우, 다음과 같이 수행할 수 있습니다.",Ss,Q,zs,D,Sl='<a href="/docs/transformers/pr_36049/ko/internal/trainer_utils#transformers.debug_utils.DebugUnderflowOverflow">DebugUnderflowOverflow</a>는 모델에 후크를 삽입하여 각 forward 호출 직후에 입력 및 출력 변수 및 해당 모듈의 가중치를 테스트합니다. 활성화나 가중치의 최소한 하나의 요소에서 <code>inf</code> 또는 <code>nan</code>이 감지되면 프로그램이 어설트되고 다음과 같은 보고서가 출력됩니다. (이 예제는 fp16 혼합 정밀도에서 <code>google/mt5-small</code>에서 캡처된 것입니다):',Fs,g,Ps,H,zl="예제 출력은 간략성을 위해 중간 부분이 잘려 있습니다.",Ks,Y,Fl="두 번째 열은 절대적으로 가장 큰 요소의 값이며, 따라서 마지막 몇 개의 프레임을 자세히 살펴보면 입력과 출력이 <code>1e4</code> 범위에 있음을 알 수 있습니다. 따라서 이 훈련은 <code>fp16</code> 혼합 정밀도로 수행될 때 가장 마지막 단계에서 오버플로우가 발생했습니다 (<code>fp16</code>에서 <code>inf</code> 이전의 가장 큰 숫자는 <code>64e3</code>입니다). <code>fp16</code> 아래에서 오버플로우를 피하기 위해서는 활성화는 <code>1e4</code>보다 훨씬 작아야 합니다. 왜냐하면 <code>1e4 * 1e4 = 1e8</code>이기 때문에 큰 활성화와의 행렬 곱은 수치적인 오버플로우 조건으로 이어질 것입니다.",Os,S,Pl="추적의 맨 처음에서 어느 배치 번호에서 문제가 발생했는지 알 수 있습니다 (여기서 <code>Detected inf/nan during batch_number=0</code>은 문제가 첫 번째 배치에서 발생했음을 의미합니다).",qs,z,Kl="각 보고된 프레임은 해당 프레임이 보고하는 해당 모듈에 대한 완전한 항목을 선언하며, 이 프레임만 살펴보면 다음과 같습니다.",sl,F,ll,P,Ol="여기서 <code>encoder.block.2.layer.1.layer_norm</code>은 인코더의 두 번째 블록의 첫 번째 레이어에 대한 레이어 정규화를 의미하며, <code>forward</code>의 특정 호출은 <code>T5LayerNorm</code>입니다.",el,K,ql="이 보고서의 마지막 몇 개 프레임을 살펴보겠습니다:",nl,O,al,q,se="마지막 프레임은 <code>Dropout.forward</code> 함수에 대한 보고입니다. 첫 번째 항목은 유일한 입력을 나타내고 두 번째 항목은 유일한 출력을 나타냅니다. 이 함수가 <code>DenseReluDense</code> 클래스 내부의 <code>dropout</code> 속성에서 호출된 것을 볼 수 있습니다. 이는 첫 번째 레이어의 두 번째 블록에서 첫 번째 배치 중에 발생했다는 것을 알 수 있습니다. 마지막으로, 절대적으로 가장 큰 입력 요소는 <code>6.27e+04</code>이고 출력도 마찬가지로 <code>inf</code>입니다.",tl,ss,le="여기에서는 <code>T5DenseGatedGeluDense.forward</code>가 출력 활성화를 생성하는데, 절대적으로 가장 큰 값이 약 62.7K인 것을 볼 수 있습니다. 이 값은 fp16의 최대 제한인 64K에 매우 근접합니다. 다음 프레임에서는 일부 요소를 0으로 만든 후 가중치를 재정규화하는 <code>Dropout</code>이 있습니다. 이로 인해 절대 최대값이 64K를 초과하고 오버플로우(<code>inf</code>)가 발생합니다.",pl,ls,ee="보시다시피, fp16 숫자의 경우 숫자가 매우 커질 때 이전 프레임을 살펴보아야 합니다.",Ml,es,ne="보고서를 <code>models/t5/modeling_t5.py</code>의 코드와 일치시켜 보겠습니다.",jl,ns,ul,as,ae="이제 <code>dropout</code> 호출과 이전의 모든 호출을 쉽게 확인할 수 있습니다.",wl,ts,te="감지는 <code>forward</code> 후크에서 발생하므로, 이러한 보고서는 각 <code>forward</code>가 반환된 직후에 즉시 출력됩니다.",rl,ps,pe="전체 보고서로 돌아가서 문제에 대한 조치 및 수정을 하려면, 숫자가 증가하기 시작한 몇 개의 프레임 위로 이동해서 여기서 <code>fp32</code> 모드로 전환해야 합니다. 이렇게 해야 숫자가 곱해지거나 합쳐질 때 오버플로우되지 않을 가능성이 높습니다. 물론 다른 해결책도 있을 수 있습니다. 예를 들어, <code>amp</code>가 활성화된 경우 일시적으로 끄고 원래의 <code>forward</code>를 도우미 래퍼로 이동한 후 다음과 같이 할 수 있습니다:",cl,Ms,Tl,js,Me="자동 감지기는 전체 프레임의 입력과 출력에 대해서만 보고하므로, 어디를 살펴봐야 하는지 알면 특정 <code>forward</code> 함수의 중간 단계도 분석할 수 있습니다. 이 경우에는 <code>detect_overflow</code> 도우미 함수를 사용하여 원하는 위치에 감지기를 삽입할 수 있습니다. 예를 들어:",Jl,us,ml,ws,je="여기서는 이를 추가하여 2개의 것을 추적하고 이제 <code>forwarded_states</code>의 <code>inf</code> 또는 <code>nan</code>이 중간에 감지되었는지를 추적합니다.",bl,rs,ue="실제로 위의 예제에서 각 호출이 <code>nn.Module</code>이기 때문에 탐지기가 이미 이를 보고합니다. 로컬에서 직접 계산하는 경우 이렇게 수행한다고 가정해 봅시다.",il,cs,we="또한, 자체 코드에서 디버거를 인스턴스화하는 경우 기본값에서 출력되는 프레임 수를 조정할 수 있습니다. 예를 들어:",hl,Ts,dl,Js,Il,ms,re="동일한 디버깅 클래스는 언더플로우/오버플로우 감지 기능이 꺼진 상태에서 배치별 추적에도 사용할 수 있습니다.",yl,bs,ce="예를 들어, 특정 배치의 각 <code>forward</code> 호출의 모든 구성 성분에 대한 절대 최솟값과 최댓값을 확인하고, 이를 배치 1과 3에 대해서만 수행하려면 다음과 같이 이 클래스를 인스턴스화합니다:",Ul,is,ol,hs,Te="그러면 이제 배치 1과 3 전체가 언더플로우/오버플로우 감지기와 동일한 형식으로 추적됩니다.",fl,ds,Je="배치는 0부터 시작합니다.",Cl,Is,me="이는 프로그램이 특정 배치 번호 이후에 오작동하기 시작하는 것을 알고 있는 경우에 유용합니다. 그렇기 때문에 해당 영역으로 바로 이동할 수 있습니다. 이런 구성에 대한 샘플 축소된 출력은 다음과 같습니다.",Zl,ys,Al,Us,be="여기에서는 모델의 forward 호출 수와 동일한 수의 프레임이 덤프되므로 많은 수의 프레임이 생성됩니다. 따라서 원하는 것일 수도 있고 아닐 수도 있습니다. 그러나 때로는 일반 디버거보다 디버깅 목적으로 더 쉽게 사용할 수 있습니다. 예를 들어, 문제가 배치 번호 150에서 시작하는 경우 149와 150의 추적을 덤프하고 숫자가 어디서부터 다르게 되었는지 비교할 수 있습니다.",Gl,os,ie="또한, 훈련을 중지할 배치 번호를 지정할 수도 있습니다. 다음과 같이 지정할 수 있습니다.",Vl,fs,Bl,Cs,$l,Zs,Rl;return f=new _l({props:{title:"디버깅",local:"debugging",headingTag:"h1"}}),C=new _l({props:{title:"Multi-GPU 네트워크 문제 디버그",local:"multigpu-network-issues-debug",headingTag:"h2"}}),A=new i({props:{code:"d2dldCUyMGh0dHBzJTNBJTJGJTJGcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSUyRmh1Z2dpbmdmYWNlJTJGdHJhbnNmb3JtZXJzJTJGbWFpbiUyRnNjcmlwdHMlMkZkaXN0cmlidXRlZCUyRnRvcmNoLWRpc3RyaWJ1dGVkLWdwdS10ZXN0LnB5",highlighted:"wget https://raw.githubusercontent.com/huggingface/transformers/main/scripts/distributed/torch-distributed-gpu-test.py",wrap:!1}}),V=new i({props:{code:"cHl0aG9uJTIwLW0lMjB0b3JjaC5kaXN0cmlidXRlZC5ydW4lMjAtLW5wcm9jX3Blcl9ub2RlJTIwMiUyMC0tbm5vZGVzJTIwMSUyMHRvcmNoLWRpc3RyaWJ1dGVkLWdwdS10ZXN0LnB5",highlighted:"python -m torch.distributed.run --nproc_per_node 2 --nnodes 1 torch-distributed-gpu-test.py",wrap:!1}}),k=new i({props:{code:"TkNDTF9ERUJVRyUzRElORk8lMjBweXRob24lMjAtbSUyMHRvcmNoLmRpc3RyaWJ1dGVkLnJ1biUyMC0tbnByb2NfcGVyX25vZGUlMjAyJTIwLS1ubm9kZXMlMjAxJTIwdG9yY2gtZGlzdHJpYnV0ZWQtZ3B1LXRlc3QucHk=",highlighted:"NCCL_DEBUG=INFO python -m torch.distributed.run --nproc_per_node 2 --nnodes 1 torch-distributed-gpu-test.py",wrap:!1}}),L=new _l({props:{title:"언더플로 및 오버플로 감지",local:"underflow-and-overflow-detection",headingTag:"h2"}}),y=new kl({props:{$$slots:{default:[Be]},$$scope:{ctx:I}}}),U=new kl({props:{$$slots:{default:[$e]},$$scope:{ctx:I}}}),o=new kl({props:{$$slots:{default:[Re]},$$scope:{ctx:I}}}),x=new i({props:{code:"LS1kZWJ1ZyUyMHVuZGVyZmxvd19vdmVyZmxvdw==",highlighted:"--debug underflow_overflow",wrap:!1}}),Q=new i({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycy5kZWJ1Z191dGlscyUyMGltcG9ydCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3clMEElMEFkZWJ1Z19vdmVyZmxvdyUyMCUzRCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3cobW9kZWwp",highlighted:`<span class="hljs-keyword">from</span> transformers.debug_utils <span class="hljs-keyword">import</span> DebugUnderflowOverflow | |
| debug_overflow = DebugUnderflowOverflow(model)`,wrap:!1}}),g=new i({props:{code:"RGV0ZWN0ZWQlMjBpbmYlMkZuYW4lMjBkdXJpbmclMjBiYXRjaF9udW1iZXIlM0QwJTBBTGFzdCUyMDIxJTIwZm9yd2FyZCUyMGZyYW1lcyUzQSUwQWFicyUyMG1pbiUyMCUyMGFicyUyMG1heCUyMCUyMG1ldGFkYXRhJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4xLmxheWVyLjEuRGVuc2VSZWx1RGVuc2UuZHJvcG91dCUyMERyb3BvdXQlMEEwLjAwZSUyQjAwJTIwMi41N2UlMkIwMiUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAyLjg1ZSUyQjAyJTIwb3V0cHV0JTBBJTVCLi4uJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjAlMjBUNUxheWVyU2VsZkF0dGVudGlvbiUwQTYuNzhlLTA0JTIwMy4xNWUlMkIwMyUyMGlucHV0JTVCMCU1RCUwQTIuNjVlLTA0JTIwMy40MmUlMkIwMyUyMG91dHB1dCU1QjAlNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBOb25lJTIwb3V0cHV0JTVCMSU1RCUwQTIuMjVlLTAxJTIwMS4wMGUlMkIwNCUyMG91dHB1dCU1QjIlNUQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5sYXllcl9ub3JtJTIwVDVMYXllck5vcm0lMEE4LjY5ZS0wMiUyMDQuMThlLTAxJTIwd2VpZ2h0JTBBMi42NWUtMDQlMjAzLjQyZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMS43OWUtMDYlMjA0LjY1ZSUyQjAwJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2Uud2lfMCUyMExpbmVhciUwQTIuMTdlLTA3JTIwNC41MGUlMkIwMCUyMHdlaWdodCUwQTEuNzllLTA2JTIwNC42NWUlMkIwMCUyMGlucHV0JTVCMCU1RCUwQTIuNjhlLTA2JTIwMy43MGUlMkIwMSUyMG91dHB1dCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVuY29kZXIuYmxvY2suMi5sYXllci4xLkRlbnNlUmVsdURlbnNlLndpXzElMjBMaW5lYXIlMEE4LjA4ZS0wNyUyMDIuNjZlJTJCMDElMjB3ZWlnaHQlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEExLjI3ZS0wNCUyMDIuMzdlJTJCMDIlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5EZW5zZVJlbHVEZW5zZS5kcm9wb3V0JTIwRHJvcG91dCUwQTAuMDBlJTJCMDAlMjA4Ljc2ZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMC4wMGUlMkIwMCUyMDkuNzRlJTJCMDMlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5EZW5zZVJlbHVEZW5zZS53byUyMExpbmVhciUwQTEuMDFlLTA2JTIwNi40NGUlMkIwMCUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjA5Ljc0ZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMy4xOGUtMDQlMjA2LjI3ZSUyQjA0JTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2UlMjBUNURlbnNlR2F0ZWRHZWx1RGVuc2UlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEEzLjE4ZS0wNCUyMDYuMjdlJTJCMDQlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5kcm9wb3V0JTIwRHJvcG91dCUwQTMuMThlLTA0JTIwNi4yN2UlMkIwNCUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAlMjAlMjAlMjAlMjAlMjBpbmYlMjBvdXRwdXQ=",highlighted:`<span class="hljs-attribute">Detected</span> inf/nan during batch_number=<span class="hljs-number">0</span> | |
| <span class="hljs-attribute">Last</span> <span class="hljs-number">21</span> forward frames: | |
| <span class="hljs-attribute">abs</span> min abs max metadata | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">1</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.dropout Dropout | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">2</span>.<span class="hljs-number">57</span>e+<span class="hljs-number">02</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">2</span>.<span class="hljs-number">85</span>e+<span class="hljs-number">02</span> output<span class="hljs-meta"> | |
| [...]</span> | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">0</span> T5LayerSelfAttention | |
| <span class="hljs-attribute">6</span>.<span class="hljs-number">78</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">15</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">65</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">42</span>e+<span class="hljs-number">03</span> output[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">None</span> output[<span class="hljs-number">1</span>] | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">25</span>e-<span class="hljs-number">01</span> <span class="hljs-number">1</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">04</span> output[<span class="hljs-number">2</span>] | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.layer_norm T5LayerNorm | |
| <span class="hljs-attribute">8</span>.<span class="hljs-number">69</span>e-<span class="hljs-number">02</span> <span class="hljs-number">4</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">01</span> weight | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">65</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">42</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_0 Linear | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">17</span>e-<span class="hljs-number">07</span> <span class="hljs-number">4</span>.<span class="hljs-number">50</span>e+<span class="hljs-number">00</span> weight | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">68</span>e-<span class="hljs-number">06</span> <span class="hljs-number">3</span>.<span class="hljs-number">70</span>e+<span class="hljs-number">01</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_1 Linear | |
| <span class="hljs-attribute">8</span>.<span class="hljs-number">08</span>e-<span class="hljs-number">07</span> <span class="hljs-number">2</span>.<span class="hljs-number">66</span>e+<span class="hljs-number">01</span> weight | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">27</span>e-<span class="hljs-number">04</span> <span class="hljs-number">2</span>.<span class="hljs-number">37</span>e+<span class="hljs-number">02</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.dropout Dropout | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">8</span>.<span class="hljs-number">76</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">9</span>.<span class="hljs-number">74</span>e+<span class="hljs-number">03</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wo Linear | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">01</span>e-<span class="hljs-number">06</span> <span class="hljs-number">6</span>.<span class="hljs-number">44</span>e+<span class="hljs-number">00</span> weight | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">9</span>.<span class="hljs-number">74</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense T5DenseGatedGeluDense | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.dropout Dropout | |
| <span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> inf output`,wrap:!1}}),F=new i({props:{code:"JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEubGF5ZXJfbm9ybSUyMFQ1TGF5ZXJOb3JtJTBBOC42OWUtMDIlMjA0LjE4ZS0wMSUyMHdlaWdodCUwQTIuNjVlLTA0JTIwMy40MmUlMkIwMyUyMGlucHV0JTVCMCU1RCUwQTEuNzllLTA2JTIwNC42NWUlMkIwMCUyMG91dHB1dA==",highlighted:` <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.layer_norm T5LayerNorm | |
| <span class="hljs-attribute">8</span>.<span class="hljs-number">69</span>e-<span class="hljs-number">02</span> <span class="hljs-number">4</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">01</span> weight | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">65</span>e-<span class="hljs-number">04</span> <span class="hljs-number">3</span>.<span class="hljs-number">42</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> output`,wrap:!1}}),O=new i({props:{code:"RGV0ZWN0ZWQlMjBpbmYlMkZuYW4lMjBkdXJpbmclMjBiYXRjaF9udW1iZXIlM0QwJTBBTGFzdCUyMDIxJTIwZm9yd2FyZCUyMGZyYW1lcyUzQSUwQWFicyUyMG1pbiUyMCUyMGFicyUyMG1heCUyMCUyMG1ldGFkYXRhJTBBJTVCLi4uJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2Uud2lfMCUyMExpbmVhciUwQTIuMTdlLTA3JTIwNC41MGUlMkIwMCUyMHdlaWdodCUwQTEuNzllLTA2JTIwNC42NWUlMkIwMCUyMGlucHV0JTVCMCU1RCUwQTIuNjhlLTA2JTIwMy43MGUlMkIwMSUyMG91dHB1dCUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGVuY29kZXIuYmxvY2suMi5sYXllci4xLkRlbnNlUmVsdURlbnNlLndpXzElMjBMaW5lYXIlMEE4LjA4ZS0wNyUyMDIuNjZlJTJCMDElMjB3ZWlnaHQlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEExLjI3ZS0wNCUyMDIuMzdlJTJCMDIlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5EZW5zZVJlbHVEZW5zZS53byUyMExpbmVhciUwQTEuMDFlLTA2JTIwNi40NGUlMkIwMCUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjA5Ljc0ZSUyQjAzJTIwaW5wdXQlNUIwJTVEJTBBMy4xOGUtMDQlMjA2LjI3ZSUyQjA0JTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZW5jb2Rlci5ibG9jay4yLmxheWVyLjEuRGVuc2VSZWx1RGVuc2UlMjBUNURlbnNlR2F0ZWRHZWx1RGVuc2UlMEExLjc5ZS0wNiUyMDQuNjVlJTJCMDAlMjBpbnB1dCU1QjAlNUQlMEEzLjE4ZS0wNCUyMDYuMjdlJTJCMDQlMjBvdXRwdXQlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBlbmNvZGVyLmJsb2NrLjIubGF5ZXIuMS5kcm9wb3V0JTIwRHJvcG91dCUwQTMuMThlLTA0JTIwNi4yN2UlMkIwNCUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAlMjAlMjAlMjAlMjAlMjBpbmYlMjBvdXRwdXQ=",highlighted:`<span class="hljs-attribute">Detected</span> inf/nan during batch_number=<span class="hljs-number">0</span> | |
| <span class="hljs-attribute">Last</span> <span class="hljs-number">21</span> forward frames: | |
| <span class="hljs-attribute">abs</span> min abs max metadata<span class="hljs-meta"> | |
| [...]</span> | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_0 Linear | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">17</span>e-<span class="hljs-number">07</span> <span class="hljs-number">4</span>.<span class="hljs-number">50</span>e+<span class="hljs-number">00</span> weight | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">2</span>.<span class="hljs-number">68</span>e-<span class="hljs-number">06</span> <span class="hljs-number">3</span>.<span class="hljs-number">70</span>e+<span class="hljs-number">01</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wi_1 Linear | |
| <span class="hljs-attribute">8</span>.<span class="hljs-number">08</span>e-<span class="hljs-number">07</span> <span class="hljs-number">2</span>.<span class="hljs-number">66</span>e+<span class="hljs-number">01</span> weight | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">27</span>e-<span class="hljs-number">04</span> <span class="hljs-number">2</span>.<span class="hljs-number">37</span>e+<span class="hljs-number">02</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense.wo Linear | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">01</span>e-<span class="hljs-number">06</span> <span class="hljs-number">6</span>.<span class="hljs-number">44</span>e+<span class="hljs-number">00</span> weight | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> <span class="hljs-number">9</span>.<span class="hljs-number">74</span>e+<span class="hljs-number">03</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.DenseReluDense T5DenseGatedGeluDense | |
| <span class="hljs-attribute">1</span>.<span class="hljs-number">79</span>e-<span class="hljs-number">06</span> <span class="hljs-number">4</span>.<span class="hljs-number">65</span>e+<span class="hljs-number">00</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> output | |
| <span class="hljs-attribute">encoder</span>.block.<span class="hljs-number">2</span>.layer.<span class="hljs-number">1</span>.dropout Dropout | |
| <span class="hljs-attribute">3</span>.<span class="hljs-number">18</span>e-<span class="hljs-number">04</span> <span class="hljs-number">6</span>.<span class="hljs-number">27</span>e+<span class="hljs-number">04</span> input[<span class="hljs-number">0</span>] | |
| <span class="hljs-attribute">0</span>.<span class="hljs-number">00</span>e+<span class="hljs-number">00</span> inf output`,wrap:!1}}),ns=new i({props:{code:"Y2xhc3MlMjBUNURlbnNlR2F0ZWRHZWx1RGVuc2Uobm4uTW9kdWxlKSUzQSUwQSUyMCUyMCUyMCUyMGRlZiUyMF9faW5pdF9fKHNlbGYlMkMlMjBjb25maWcpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc3VwZXIoKS5fX2luaXRfXygpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi53aV8wJTIwJTNEJTIwbm4uTGluZWFyKGNvbmZpZy5kX21vZGVsJTJDJTIwY29uZmlnLmRfZmYlMkMlMjBiaWFzJTNERmFsc2UpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi53aV8xJTIwJTNEJTIwbm4uTGluZWFyKGNvbmZpZy5kX21vZGVsJTJDJTIwY29uZmlnLmRfZmYlMkMlMjBiaWFzJTNERmFsc2UpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwc2VsZi53byUyMCUzRCUyMG5uLkxpbmVhcihjb25maWcuZF9mZiUyQyUyMGNvbmZpZy5kX21vZGVsJTJDJTIwYmlhcyUzREZhbHNlKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNlbGYuZHJvcG91dCUyMCUzRCUyMG5uLkRyb3BvdXQoY29uZmlnLmRyb3BvdXRfcmF0ZSklMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBzZWxmLmdlbHVfYWN0JTIwJTNEJTIwQUNUMkZOJTVCJTIyZ2VsdV9uZXclMjIlNUQlMEElMEElMjAlMjAlMjAlMjBkZWYlMjBmb3J3YXJkKHNlbGYlMkMlMjBoaWRkZW5fc3RhdGVzKSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGhpZGRlbl9nZWx1JTIwJTNEJTIwc2VsZi5nZWx1X2FjdChzZWxmLndpXzAoaGlkZGVuX3N0YXRlcykpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaGlkZGVuX2xpbmVhciUyMCUzRCUyMHNlbGYud2lfMShoaWRkZW5fc3RhdGVzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGhpZGRlbl9zdGF0ZXMlMjAlM0QlMjBoaWRkZW5fZ2VsdSUyMColMjBoaWRkZW5fbGluZWFyJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwaGlkZGVuX3N0YXRlcyUyMCUzRCUyMHNlbGYuZHJvcG91dChoaWRkZW5fc3RhdGVzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGhpZGRlbl9zdGF0ZXMlMjAlM0QlMjBzZWxmLndvKGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcmV0dXJuJTIwaGlkZGVuX3N0YXRlcw==",highlighted:`<span class="hljs-keyword">class</span> <span class="hljs-title class_">T5DenseGatedGeluDense</span>(nn.Module): | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">__init__</span>(<span class="hljs-params">self, config</span>): | |
| <span class="hljs-built_in">super</span>().__init__() | |
| self.wi_0 = nn.Linear(config.d_model, config.d_ff, bias=<span class="hljs-literal">False</span>) | |
| self.wi_1 = nn.Linear(config.d_model, config.d_ff, bias=<span class="hljs-literal">False</span>) | |
| self.wo = nn.Linear(config.d_ff, config.d_model, bias=<span class="hljs-literal">False</span>) | |
| self.dropout = nn.Dropout(config.dropout_rate) | |
| self.gelu_act = ACT2FN[<span class="hljs-string">"gelu_new"</span>] | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, hidden_states</span>): | |
| hidden_gelu = self.gelu_act(self.wi_0(hidden_states)) | |
| hidden_linear = self.wi_1(hidden_states) | |
| hidden_states = hidden_gelu * hidden_linear | |
| hidden_states = self.dropout(hidden_states) | |
| hidden_states = self.wo(hidden_states) | |
| <span class="hljs-keyword">return</span> hidden_states`,wrap:!1}}),Ms=new i({props:{code:"ZGVmJTIwX2ZvcndhcmQoc2VsZiUyQyUyMGhpZGRlbl9zdGF0ZXMpJTNBJTBBJTIwJTIwJTIwJTIwaGlkZGVuX2dlbHUlMjAlM0QlMjBzZWxmLmdlbHVfYWN0KHNlbGYud2lfMChoaWRkZW5fc3RhdGVzKSklMEElMjAlMjAlMjAlMjBoaWRkZW5fbGluZWFyJTIwJTNEJTIwc2VsZi53aV8xKGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwaGlkZGVuX3N0YXRlcyUyMCUzRCUyMGhpZGRlbl9nZWx1JTIwKiUyMGhpZGRlbl9saW5lYXIlMEElMjAlMjAlMjAlMjBoaWRkZW5fc3RhdGVzJTIwJTNEJTIwc2VsZi5kcm9wb3V0KGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwaGlkZGVuX3N0YXRlcyUyMCUzRCUyMHNlbGYud28oaGlkZGVuX3N0YXRlcyklMEElMjAlMjAlMjAlMjByZXR1cm4lMjBoaWRkZW5fc3RhdGVzJTBBJTBBJTBBaW1wb3J0JTIwdG9yY2glMEElMEElMEFkZWYlMjBmb3J3YXJkKHNlbGYlMkMlMjBoaWRkZW5fc3RhdGVzKSUzQSUwQSUyMCUyMCUyMCUyMGlmJTIwdG9yY2guaXNfYXV0b2Nhc3RfZW5hYmxlZCgpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwd2l0aCUyMHRvcmNoLmN1ZGEuYW1wLmF1dG9jYXN0KGVuYWJsZWQlM0RGYWxzZSklM0ElMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjByZXR1cm4lMjBzZWxmLl9mb3J3YXJkKGhpZGRlbl9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwZWxzZSUzQSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMHNlbGYuX2ZvcndhcmQoaGlkZGVuX3N0YXRlcyk=",highlighted:`<span class="hljs-keyword">def</span> <span class="hljs-title function_">_forward</span>(<span class="hljs-params">self, hidden_states</span>): | |
| hidden_gelu = self.gelu_act(self.wi_0(hidden_states)) | |
| hidden_linear = self.wi_1(hidden_states) | |
| hidden_states = hidden_gelu * hidden_linear | |
| hidden_states = self.dropout(hidden_states) | |
| hidden_states = self.wo(hidden_states) | |
| <span class="hljs-keyword">return</span> hidden_states | |
| <span class="hljs-keyword">import</span> torch | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, hidden_states</span>): | |
| <span class="hljs-keyword">if</span> torch.is_autocast_enabled(): | |
| <span class="hljs-keyword">with</span> torch.cuda.amp.autocast(enabled=<span class="hljs-literal">False</span>): | |
| <span class="hljs-keyword">return</span> self._forward(hidden_states) | |
| <span class="hljs-keyword">else</span>: | |
| <span class="hljs-keyword">return</span> self._forward(hidden_states)`,wrap:!1}}),us=new i({props:{code:"ZnJvbSUyMGRlYnVnX3V0aWxzJTIwaW1wb3J0JTIwZGV0ZWN0X292ZXJmbG93JTBBJTBBJTBBY2xhc3MlMjBUNUxheWVyRkYobm4uTW9kdWxlKSUzQSUwQSUyMCUyMCUyMCUyMCU1Qi4uLiU1RCUwQSUwQSUyMCUyMCUyMCUyMGRlZiUyMGZvcndhcmQoc2VsZiUyQyUyMGhpZGRlbl9zdGF0ZXMpJTNBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZm9yd2FyZGVkX3N0YXRlcyUyMCUzRCUyMHNlbGYubGF5ZXJfbm9ybShoaWRkZW5fc3RhdGVzKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGRldGVjdF9vdmVyZmxvdyhmb3J3YXJkZWRfc3RhdGVzJTJDJTIwJTIyYWZ0ZXIlMjBsYXllcl9ub3JtJTIyKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZvcndhcmRlZF9zdGF0ZXMlMjAlM0QlMjBzZWxmLkRlbnNlUmVsdURlbnNlKGZvcndhcmRlZF9zdGF0ZXMpJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZGV0ZWN0X292ZXJmbG93KGZvcndhcmRlZF9zdGF0ZXMlMkMlMjAlMjJhZnRlciUyMERlbnNlUmVsdURlbnNlJTIyKSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldHVybiUyMGhpZGRlbl9zdGF0ZXMlMjAlMkIlMjBzZWxmLmRyb3BvdXQoZm9yd2FyZGVkX3N0YXRlcyk=",highlighted:`<span class="hljs-keyword">from</span> debug_utils <span class="hljs-keyword">import</span> detect_overflow | |
| <span class="hljs-keyword">class</span> <span class="hljs-title class_">T5LayerFF</span>(nn.Module): | |
| [...] | |
| <span class="hljs-keyword">def</span> <span class="hljs-title function_">forward</span>(<span class="hljs-params">self, hidden_states</span>): | |
| forwarded_states = self.layer_norm(hidden_states) | |
| detect_overflow(forwarded_states, <span class="hljs-string">"after layer_norm"</span>) | |
| forwarded_states = self.DenseReluDense(forwarded_states) | |
| detect_overflow(forwarded_states, <span class="hljs-string">"after DenseReluDense"</span>) | |
| <span class="hljs-keyword">return</span> hidden_states + self.dropout(forwarded_states)`,wrap:!1}}),Ts=new i({props:{code:"ZnJvbSUyMHRyYW5zZm9ybWVycy5kZWJ1Z191dGlscyUyMGltcG9ydCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3clMEElMEFkZWJ1Z19vdmVyZmxvdyUyMCUzRCUyMERlYnVnVW5kZXJmbG93T3ZlcmZsb3cobW9kZWwlMkMlMjBtYXhfZnJhbWVzX3RvX3NhdmUlM0QxMDAp",highlighted:`<span class="hljs-keyword">from</span> transformers.debug_utils <span class="hljs-keyword">import</span> DebugUnderflowOverflow | |
| debug_overflow = DebugUnderflowOverflow(model, max_frames_to_save=<span class="hljs-number">100</span>)`,wrap:!1}}),Js=new _l({props:{title:"특정 배치의 절댓값 최소 및 최대 값 추적",local:"specific-batch-absolute-min-and-max-value-tracing",headingTag:"h3"}}),is=new i({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsJTJDJTIwdHJhY2VfYmF0Y2hfbnVtcyUzRCU1QjElMkMlMjAzJTVEKQ==",highlighted:'debug_overflow = DebugUnderflowOverflow(model, trace_batch_nums=[<span class="hljs-number">1</span>, <span class="hljs-number">3</span>])',wrap:!1}}),ys=new i({props:{code:"JTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKioqJTIwU3RhcnRpbmclMjBiYXRjaCUyMG51bWJlciUzRDElMjAqKiolMEFhYnMlMjBtaW4lMjAlMjBhYnMlMjBtYXglMjAlMjBtZXRhZGF0YSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNoYXJlZCUyMEVtYmVkZGluZyUwQTEuMDFlLTA2JTIwNy45MmUlMkIwMiUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjAyLjQ3ZSUyQjA0JTIwaW5wdXQlNUIwJTVEJTBBNS4zNmUtMDUlMjA3LjkyZSUyQjAyJTIwb3V0cHV0JTBBJTVCLi4uJTVEJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZGVjb2Rlci5kcm9wb3V0JTIwRHJvcG91dCUwQTEuNjBlLTA3JTIwMi4yN2UlMkIwMSUyMGlucHV0JTVCMCU1RCUwQTAuMDBlJTJCMDAlMjAyLjUyZSUyQjAxJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwZGVjb2RlciUyMFQ1U3RhY2slMEElMjAlMjAlMjAlMjAlMjBub3QlMjBhJTIwdGVuc29yJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbG1faGVhZCUyMExpbmVhciUwQTEuMDFlLTA2JTIwNy45MmUlMkIwMiUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjAxLjExZSUyQjAwJTIwaW5wdXQlNUIwJTVEJTBBNi4wNmUtMDIlMjA4LjM5ZSUyQjAxJTIwb3V0cHV0JTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwVDVGb3JDb25kaXRpb25hbEdlbmVyYXRpb24lMEElMjAlMjAlMjAlMjAlMjBub3QlMjBhJTIwdGVuc29yJTIwb3V0cHV0JTBBJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwKioqJTIwU3RhcnRpbmclMjBiYXRjaCUyMG51bWJlciUzRDMlMjAqKiolMEFhYnMlMjBtaW4lMjAlMjBhYnMlMjBtYXglMjAlMjBtZXRhZGF0YSUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHNoYXJlZCUyMEVtYmVkZGluZyUwQTEuMDFlLTA2JTIwNy45MmUlMkIwMiUyMHdlaWdodCUwQTAuMDBlJTJCMDAlMjAyLjc4ZSUyQjA0JTIwaW5wdXQlNUIwJTVEJTBBNS4zNmUtMDUlMjA3LjkyZSUyQjAyJTIwb3V0cHV0JTBBJTVCLi4uJTVE",highlighted:` *** Starting batch number=1 *** | |
| abs min abs max metadata | |
| shared Embedding | |
| 1.01e<span class="hljs-string">-06</span> 7.92e<span class="hljs-string">+02</span> weight | |
| 0.00e<span class="hljs-string">+00</span> 2.47e<span class="hljs-string">+04</span> input[0] | |
| 5.36e<span class="hljs-string">-05</span> 7.92e<span class="hljs-string">+02</span> output | |
| [...] | |
| decoder.dropout Dropout | |
| 1.60e<span class="hljs-string">-07</span> 2.27e<span class="hljs-string">+01</span> input[0] | |
| 0.00e<span class="hljs-string">+00</span> 2.52e<span class="hljs-string">+01</span> output | |
| decoder T5Stack | |
| not a tensor output | |
| lm_head Linear | |
| 1.01e<span class="hljs-string">-06</span> 7.92e<span class="hljs-string">+02</span> weight | |
| 0.00e<span class="hljs-string">+00</span> 1.11e<span class="hljs-string">+00</span> input[0] | |
| 6.06e<span class="hljs-string">-02</span> 8.39e<span class="hljs-string">+01</span> output | |
| T5ForConditionalGeneration | |
| not a tensor output | |
| *** Starting batch number=3 *** | |
| abs min abs max metadata | |
| shared Embedding | |
| 1.01e<span class="hljs-string">-06</span> 7.92e<span class="hljs-string">+02</span> weight | |
| 0.00e<span class="hljs-string">+00</span> 2.78e<span class="hljs-string">+04</span> input[0] | |
| 5.36e<span class="hljs-string">-05</span> 7.92e<span class="hljs-string">+02</span> output | |
| [...]`,wrap:!1}}),fs=new i({props:{code:"ZGVidWdfb3ZlcmZsb3clMjAlM0QlMjBEZWJ1Z1VuZGVyZmxvd092ZXJmbG93KG1vZGVsJTJDJTIwdHJhY2VfYmF0Y2hfbnVtcyUzRCU1QjElMkMlMjAzJTVEJTJDJTIwYWJvcnRfYWZ0ZXJfYmF0Y2hfbnVtJTNEMyk=",highlighted:'debug_overflow = DebugUnderflowOverflow(model, trace_batch_nums=[<span class="hljs-number">1</span>, <span class="hljs-number">3</span>], abort_after_batch_num=<span class="hljs-number">3</span>)',wrap:!1}}),Cs=new Ve({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ko/debugging.md"}}),{c(){u=p("meta"),h=a(),w=p("p"),d=a(),r(f.$$.fragment),As=a(),r(C.$$.fragment),Gs=a(),Z=p("p"),Z.innerHTML=Ll,Vs=a(),r(A.$$.fragment),Bs=a(),G=p("p"),G.textContent=Wl,$s=a(),r(V.$$.fragment),Rs=a(),B=p("p"),B.textContent=vl,_s=a(),$=p("p"),$.textContent=xl,ks=a(),R=p("p"),R.textContent=El,Ns=a(),_=p("p"),_.innerHTML=Xl,Ls=a(),r(k.$$.fragment),Ws=a(),N=p("p"),N.textContent=Ql,vs=a(),r(L.$$.fragment),xs=a(),r(y.$$.fragment),Es=a(),r(U.$$.fragment),Xs=a(),r(o.$$.fragment),Qs=a(),W=p("p"),W.innerHTML=Dl,Ds=a(),v=p("p"),v.innerHTML=gl,gs=a(),r(x.$$.fragment),Hs=a(),E=p("p"),E.innerHTML=Hl,Ys=a(),X=p("p"),X.textContent=Yl,Ss=a(),r(Q.$$.fragment),zs=a(),D=p("p"),D.innerHTML=Sl,Fs=a(),r(g.$$.fragment),Ps=a(),H=p("p"),H.textContent=zl,Ks=a(),Y=p("p"),Y.innerHTML=Fl,Os=a(),S=p("p"),S.innerHTML=Pl,qs=a(),z=p("p"),z.textContent=Kl,sl=a(),r(F.$$.fragment),ll=a(),P=p("p"),P.innerHTML=Ol,el=a(),K=p("p"),K.textContent=ql,nl=a(),r(O.$$.fragment),al=a(),q=p("p"),q.innerHTML=se,tl=a(),ss=p("p"),ss.innerHTML=le,pl=a(),ls=p("p"),ls.textContent=ee,Ml=a(),es=p("p"),es.innerHTML=ne,jl=a(),r(ns.$$.fragment),ul=a(),as=p("p"),as.innerHTML=ae,wl=a(),ts=p("p"),ts.innerHTML=te,rl=a(),ps=p("p"),ps.innerHTML=pe,cl=a(),r(Ms.$$.fragment),Tl=a(),js=p("p"),js.innerHTML=Me,Jl=a(),r(us.$$.fragment),ml=a(),ws=p("p"),ws.innerHTML=je,bl=a(),rs=p("p"),rs.innerHTML=ue,il=a(),cs=p("p"),cs.textContent=we,hl=a(),r(Ts.$$.fragment),dl=a(),r(Js.$$.fragment),Il=a(),ms=p("p"),ms.textContent=re,yl=a(),bs=p("p"),bs.innerHTML=ce,Ul=a(),r(is.$$.fragment),ol=a(),hs=p("p"),hs.textContent=Te,fl=a(),ds=p("p"),ds.textContent=Je,Cl=a(),Is=p("p"),Is.textContent=me,Zl=a(),r(ys.$$.fragment),Al=a(),Us=p("p"),Us.textContent=be,Gl=a(),os=p("p"),os.textContent=ie,Vl=a(),r(fs.$$.fragment),Bl=a(),r(Cs.$$.fragment),$l=a(),Zs=p("p"),this.h()},l(s){const l=Ae("svelte-u9bgzb",document.head);u=M(l,"META",{name:!0,content:!0}),l.forEach(e),h=t(s),w=M(s,"P",{}),ye(w).forEach(e),d=t(s),c(f.$$.fragment,s),As=t(s),c(C.$$.fragment,s),Gs=t(s),Z=M(s,"P",{"data-svelte-h":!0}),j(Z)!=="svelte-1rhp34x"&&(Z.innerHTML=Ll),Vs=t(s),c(A.$$.fragment,s),Bs=t(s),G=M(s,"P",{"data-svelte-h":!0}),j(G)!=="svelte-1m57re2"&&(G.textContent=Wl),$s=t(s),c(V.$$.fragment,s),Rs=t(s),B=M(s,"P",{"data-svelte-h":!0}),j(B)!=="svelte-f2ywdr"&&(B.textContent=vl),_s=t(s),$=M(s,"P",{"data-svelte-h":!0}),j($)!=="svelte-18390o4"&&($.textContent=xl),ks=t(s),R=M(s,"P",{"data-svelte-h":!0}),j(R)!=="svelte-1lhqz60"&&(R.textContent=El),Ns=t(s),_=M(s,"P",{"data-svelte-h":!0}),j(_)!=="svelte-f6fi1h"&&(_.innerHTML=Xl),Ls=t(s),c(k.$$.fragment,s),Ws=t(s),N=M(s,"P",{"data-svelte-h":!0}),j(N)!=="svelte-1jlxals"&&(N.textContent=Ql),vs=t(s),c(L.$$.fragment,s),xs=t(s),c(y.$$.fragment,s),Es=t(s),c(U.$$.fragment,s),Xs=t(s),c(o.$$.fragment,s),Qs=t(s),W=M(s,"P",{"data-svelte-h":!0}),j(W)!=="svelte-bzzbhe"&&(W.innerHTML=Dl),Ds=t(s),v=M(s,"P",{"data-svelte-h":!0}),j(v)!=="svelte-9se1ik"&&(v.innerHTML=gl),gs=t(s),c(x.$$.fragment,s),Hs=t(s),E=M(s,"P",{"data-svelte-h":!0}),j(E)!=="svelte-1w00zgv"&&(E.innerHTML=Hl),Ys=t(s),X=M(s,"P",{"data-svelte-h":!0}),j(X)!=="svelte-1hfe8nk"&&(X.textContent=Yl),Ss=t(s),c(Q.$$.fragment,s),zs=t(s),D=M(s,"P",{"data-svelte-h":!0}),j(D)!=="svelte-12e4e8l"&&(D.innerHTML=Sl),Fs=t(s),c(g.$$.fragment,s),Ps=t(s),H=M(s,"P",{"data-svelte-h":!0}),j(H)!=="svelte-i70u7x"&&(H.textContent=zl),Ks=t(s),Y=M(s,"P",{"data-svelte-h":!0}),j(Y)!=="svelte-1wq6w71"&&(Y.innerHTML=Fl),Os=t(s),S=M(s,"P",{"data-svelte-h":!0}),j(S)!=="svelte-50fvj7"&&(S.innerHTML=Pl),qs=t(s),z=M(s,"P",{"data-svelte-h":!0}),j(z)!=="svelte-1bkxdiz"&&(z.textContent=Kl),sl=t(s),c(F.$$.fragment,s),ll=t(s),P=M(s,"P",{"data-svelte-h":!0}),j(P)!=="svelte-7nn5z1"&&(P.innerHTML=Ol),el=t(s),K=M(s,"P",{"data-svelte-h":!0}),j(K)!=="svelte-ur23c7"&&(K.textContent=ql),nl=t(s),c(O.$$.fragment,s),al=t(s),q=M(s,"P",{"data-svelte-h":!0}),j(q)!=="svelte-1kt7t27"&&(q.innerHTML=se),tl=t(s),ss=M(s,"P",{"data-svelte-h":!0}),j(ss)!=="svelte-61fey3"&&(ss.innerHTML=le),pl=t(s),ls=M(s,"P",{"data-svelte-h":!0}),j(ls)!=="svelte-flzkb3"&&(ls.textContent=ee),Ml=t(s),es=M(s,"P",{"data-svelte-h":!0}),j(es)!=="svelte-5limod"&&(es.innerHTML=ne),jl=t(s),c(ns.$$.fragment,s),ul=t(s),as=M(s,"P",{"data-svelte-h":!0}),j(as)!=="svelte-h9775n"&&(as.innerHTML=ae),wl=t(s),ts=M(s,"P",{"data-svelte-h":!0}),j(ts)!=="svelte-xfzgca"&&(ts.innerHTML=te),rl=t(s),ps=M(s,"P",{"data-svelte-h":!0}),j(ps)!=="svelte-1gzwzfg"&&(ps.innerHTML=pe),cl=t(s),c(Ms.$$.fragment,s),Tl=t(s),js=M(s,"P",{"data-svelte-h":!0}),j(js)!=="svelte-1speftx"&&(js.innerHTML=Me),Jl=t(s),c(us.$$.fragment,s),ml=t(s),ws=M(s,"P",{"data-svelte-h":!0}),j(ws)!=="svelte-6ygcuz"&&(ws.innerHTML=je),bl=t(s),rs=M(s,"P",{"data-svelte-h":!0}),j(rs)!=="svelte-18mjaoi"&&(rs.innerHTML=ue),il=t(s),cs=M(s,"P",{"data-svelte-h":!0}),j(cs)!=="svelte-1lcexuu"&&(cs.textContent=we),hl=t(s),c(Ts.$$.fragment,s),dl=t(s),c(Js.$$.fragment,s),Il=t(s),ms=M(s,"P",{"data-svelte-h":!0}),j(ms)!=="svelte-1erxigm"&&(ms.textContent=re),yl=t(s),bs=M(s,"P",{"data-svelte-h":!0}),j(bs)!=="svelte-g6ddx7"&&(bs.innerHTML=ce),Ul=t(s),c(is.$$.fragment,s),ol=t(s),hs=M(s,"P",{"data-svelte-h":!0}),j(hs)!=="svelte-1rhcpq4"&&(hs.textContent=Te),fl=t(s),ds=M(s,"P",{"data-svelte-h":!0}),j(ds)!=="svelte-1gyt4w"&&(ds.textContent=Je),Cl=t(s),Is=M(s,"P",{"data-svelte-h":!0}),j(Is)!=="svelte-fje1ya"&&(Is.textContent=me),Zl=t(s),c(ys.$$.fragment,s),Al=t(s),Us=M(s,"P",{"data-svelte-h":!0}),j(Us)!=="svelte-1wj8xpg"&&(Us.textContent=be),Gl=t(s),os=M(s,"P",{"data-svelte-h":!0}),j(os)!=="svelte-1etlldy"&&(os.textContent=ie),Vl=t(s),c(fs.$$.fragment,s),Bl=t(s),c(Cs.$$.fragment,s),$l=t(s),Zs=M(s,"P",{}),ye(Zs).forEach(e),this.h()},h(){Ue(u,"name","hf:doc:metadata"),Ue(u,"content",ke)},m(s,l){Ge(document.head,u),n(s,h,l),n(s,w,l),n(s,d,l),T(f,s,l),n(s,As,l),T(C,s,l),n(s,Gs,l),n(s,Z,l),n(s,Vs,l),T(A,s,l),n(s,Bs,l),n(s,G,l),n(s,$s,l),T(V,s,l),n(s,Rs,l),n(s,B,l),n(s,_s,l),n(s,$,l),n(s,ks,l),n(s,R,l),n(s,Ns,l),n(s,_,l),n(s,Ls,l),T(k,s,l),n(s,Ws,l),n(s,N,l),n(s,vs,l),T(L,s,l),n(s,xs,l),T(y,s,l),n(s,Es,l),T(U,s,l),n(s,Xs,l),T(o,s,l),n(s,Qs,l),n(s,W,l),n(s,Ds,l),n(s,v,l),n(s,gs,l),T(x,s,l),n(s,Hs,l),n(s,E,l),n(s,Ys,l),n(s,X,l),n(s,Ss,l),T(Q,s,l),n(s,zs,l),n(s,D,l),n(s,Fs,l),T(g,s,l),n(s,Ps,l),n(s,H,l),n(s,Ks,l),n(s,Y,l),n(s,Os,l),n(s,S,l),n(s,qs,l),n(s,z,l),n(s,sl,l),T(F,s,l),n(s,ll,l),n(s,P,l),n(s,el,l),n(s,K,l),n(s,nl,l),T(O,s,l),n(s,al,l),n(s,q,l),n(s,tl,l),n(s,ss,l),n(s,pl,l),n(s,ls,l),n(s,Ml,l),n(s,es,l),n(s,jl,l),T(ns,s,l),n(s,ul,l),n(s,as,l),n(s,wl,l),n(s,ts,l),n(s,rl,l),n(s,ps,l),n(s,cl,l),T(Ms,s,l),n(s,Tl,l),n(s,js,l),n(s,Jl,l),T(us,s,l),n(s,ml,l),n(s,ws,l),n(s,bl,l),n(s,rs,l),n(s,il,l),n(s,cs,l),n(s,hl,l),T(Ts,s,l),n(s,dl,l),T(Js,s,l),n(s,Il,l),n(s,ms,l),n(s,yl,l),n(s,bs,l),n(s,Ul,l),T(is,s,l),n(s,ol,l),n(s,hs,l),n(s,fl,l),n(s,ds,l),n(s,Cl,l),n(s,Is,l),n(s,Zl,l),T(ys,s,l),n(s,Al,l),n(s,Us,l),n(s,Gl,l),n(s,os,l),n(s,Vl,l),T(fs,s,l),n(s,Bl,l),T(Cs,s,l),n(s,$l,l),n(s,Zs,l),Rl=!0},p(s,[l]){const he={};l&2&&(he.$$scope={dirty:l,ctx:s}),y.$set(he);const de={};l&2&&(de.$$scope={dirty:l,ctx:s}),U.$set(de);const Ie={};l&2&&(Ie.$$scope={dirty:l,ctx:s}),o.$set(Ie)},i(s){Rl||(J(f.$$.fragment,s),J(C.$$.fragment,s),J(A.$$.fragment,s),J(V.$$.fragment,s),J(k.$$.fragment,s),J(L.$$.fragment,s),J(y.$$.fragment,s),J(U.$$.fragment,s),J(o.$$.fragment,s),J(x.$$.fragment,s),J(Q.$$.fragment,s),J(g.$$.fragment,s),J(F.$$.fragment,s),J(O.$$.fragment,s),J(ns.$$.fragment,s),J(Ms.$$.fragment,s),J(us.$$.fragment,s),J(Ts.$$.fragment,s),J(Js.$$.fragment,s),J(is.$$.fragment,s),J(ys.$$.fragment,s),J(fs.$$.fragment,s),J(Cs.$$.fragment,s),Rl=!0)},o(s){m(f.$$.fragment,s),m(C.$$.fragment,s),m(A.$$.fragment,s),m(V.$$.fragment,s),m(k.$$.fragment,s),m(L.$$.fragment,s),m(y.$$.fragment,s),m(U.$$.fragment,s),m(o.$$.fragment,s),m(x.$$.fragment,s),m(Q.$$.fragment,s),m(g.$$.fragment,s),m(F.$$.fragment,s),m(O.$$.fragment,s),m(ns.$$.fragment,s),m(Ms.$$.fragment,s),m(us.$$.fragment,s),m(Ts.$$.fragment,s),m(Js.$$.fragment,s),m(is.$$.fragment,s),m(ys.$$.fragment,s),m(fs.$$.fragment,s),m(Cs.$$.fragment,s),Rl=!1},d(s){s&&(e(h),e(w),e(d),e(As),e(Gs),e(Z),e(Vs),e(Bs),e(G),e($s),e(Rs),e(B),e(_s),e($),e(ks),e(R),e(Ns),e(_),e(Ls),e(Ws),e(N),e(vs),e(xs),e(Es),e(Xs),e(Qs),e(W),e(Ds),e(v),e(gs),e(Hs),e(E),e(Ys),e(X),e(Ss),e(zs),e(D),e(Fs),e(Ps),e(H),e(Ks),e(Y),e(Os),e(S),e(qs),e(z),e(sl),e(ll),e(P),e(el),e(K),e(nl),e(al),e(q),e(tl),e(ss),e(pl),e(ls),e(Ml),e(es),e(jl),e(ul),e(as),e(wl),e(ts),e(rl),e(ps),e(cl),e(Tl),e(js),e(Jl),e(ml),e(ws),e(bl),e(rs),e(il),e(cs),e(hl),e(dl),e(Il),e(ms),e(yl),e(bs),e(Ul),e(ol),e(hs),e(fl),e(ds),e(Cl),e(Is),e(Zl),e(Al),e(Us),e(Gl),e(os),e(Vl),e(Bl),e($l),e(Zs)),e(u),b(f,s),b(C,s),b(A,s),b(V,s),b(k,s),b(L,s),b(y,s),b(U,s),b(o,s),b(x,s),b(Q,s),b(g,s),b(F,s),b(O,s),b(ns,s),b(Ms,s),b(us,s),b(Ts,s),b(Js,s),b(is,s),b(ys,s),b(fs,s),b(Cs,s)}}}const ke='{"title":"디버깅","local":"debugging","sections":[{"title":"Multi-GPU 네트워크 문제 디버그","local":"multigpu-network-issues-debug","sections":[],"depth":2},{"title":"언더플로 및 오버플로 감지","local":"underflow-and-overflow-detection","sections":[{"title":"특정 배치의 절댓값 최소 및 최대 값 추적","local":"specific-batch-absolute-min-and-max-value-tracing","sections":[],"depth":3}],"depth":2}],"depth":1}';function Ne(I){return fe(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Xe extends Ce{constructor(u){super(),Ze(this,u,Ne,_e,oe,{})}}export{Xe as component}; | |
Xet Storage Details
- Size:
- 50 kB
- Xet hash:
- b22b914ce568add8706bd9c7c181f47d4c99a0697612b640ebee7bb993f39b66
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.