import{s as vs,n as Qs,o as Vs}from"../chunks/scheduler.bdbef820.js";import{S as xs,i as Ns,g as p,s as e,r as i,A as Gs,h as r,f as l,c as n,j as Ys,u as M,x as m,k as As,y as Rs,a as t,v as y,d as J,t as c,w as o}from"../chunks/index.33f81d56.js";import{C as j}from"../chunks/CodeBlock.3bad7fc9.js";import{H as us,E as Ss}from"../chunks/index.e01163b6.js";function Hs(Is){let T,H,R,F,U,z,h,fs='🤗 Transformers에서는 🤗 Transformers 모델을 학습시키는데 최적화된 <a href="/docs/transformers/main/ko/main_classes/trainer#transformers.Trainer">Trainer</a> 클래스를 제공하기 때문에, 사용자는 직접 훈련 루프를 작성할 필요 없이 더욱 간편하게 학습을 시킬 수 있습니다. 또한, <a href="/docs/transformers/main/ko/main_classes/trainer#transformers.Trainer">Trainer</a>는 하이퍼파라미터 탐색을 위한 API를 제공합니다. 이 문서에서 이 API를 활용하는 방법을 예시와 함께 보여드리겠습니다.',E,w,D,u,Cs=`<a href="/docs/transformers/main/ko/main_classes/trainer#transformers.Trainer">Trainer</a>는 현재 아래 4가지 하이퍼파라미터 탐색 백엔드를 지원합니다:
<a href="https://optuna.org/" rel="nofollow">optuna</a>와 <a href="https://sigopt.com/" rel="nofollow">sigopt</a>, <a href="https://docs.ray.io/en/latest/tune/index.html" rel="nofollow">raytune</a>, <a href="https://wandb.ai/site/sweeps" rel="nofollow">wandb</a> 입니다.`,L,I,ds="하이퍼파라미터 탐색 백엔드로 사용하기 전에 아래의 명령어를 사용하여 라이브러리들을 설치하세요.",P,f,K,C,O,d,bs="하이퍼파라미터 탐색 공간을 정의하세요. 하이퍼파라미터 탐색 백엔드마다 서로 다른 형식이 필요합니다.",ss,b,gs='sigopt의 경우, 해당 <a href="https://docs.sigopt.com/ai-module-api-references/api_reference/objects/object_parameter" rel="nofollow">object_parameter</a> 문서를 참조하여 아래와 같이 작성하세요:',as,g,ls,_,_s='optuna의 경우, 해당 <a href="https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/002_configurations.html#sphx-glr-tutorial-10-key-features-002-configurations-py" rel="nofollow">object_parameter</a> 문서를 참조하여 아래와 같이 작성하세요:',ts,$,es,q,$s='raytune의 경우, 해당 <a href="https://docs.ray.io/en/latest/tune/api/search_space.html" rel="nofollow">object_parameter</a> 문서를 참조하여 아래와 같이 작성하세요:',ns,W,ps,Z,qs='wandb의 경우, 해당 <a href="https://docs.wandb.ai/guides/sweeps/configuration" rel="nofollow">object_parameter</a> 문서를 참조하여 아래와 같이 작성하세요:',rs,B,is,X,Ws='<code>model_init</code> 함수를 정의하고 이를 <a href="/docs/transformers/main/ko/main_classes/trainer#transformers.Trainer">Trainer</a>에 전달하세요. 아래는 그 예시입니다.',Ms,k,ms,Y,Zs='아래와 같이 <code>model_init</code> 함수, 훈련 인수, 훈련 및 테스트 데이터셋, 그리고 평가 함수를 사용하여 <a href="/docs/transformers/main/ko/main_classes/trainer#transformers.Trainer">Trainer</a>를 생성하세요:',ys,A,Js,v,Bs="하이퍼파라미터 탐색을 호출하고, 최적의 시험 매개변수를 가져오세요. 백엔드는 <code>&quot;optuna&quot;</code>/<code>&quot;sigopt&quot;</code>/<code>&quot;wandb&quot;</code>/<code>&quot;ray&quot;</code> 중에서 선택할 수 있습니다. 방향은 <code>&quot;minimize&quot;</code> 또는 <code>&quot;maximize&quot;</code> 중 선택하며, 목표를 최소화할 것인지 최대화할 것인지를 결정합니다.",cs,Q,Xs="자신만의 compute_objective 함수를 정의할 수 있습니다. 만약 이 함수를 정의하지 않으면, 기본 compute_objective가 호출되고, f1과 같은 평가 지표의 합이 목푯값으로 반환됩니다.",os,V,Ts,x,js,N,ks="현재, DDP(Distributed Data Parallelism; 분산 데이터 병렬처리)를 위한 하이퍼파라미터 탐색은 optuna와 sigopt에서 가능합니다. 최상위 프로세스가 하이퍼파라미터 탐색 과정을 시작하고 그 결과를 다른 프로세스에 전달합니다.",Us,G,hs,S,ws;return U=new us({props:{title:"Trainer API를 사용한 하이퍼파라미터 탐색",local:"hyperparameter-search-using-trainer-api",headingTag:"h1"}}),w=new us({props:{title:"하이퍼파라미터 탐색 백엔드",local:"hyperparameter-search-backend",headingTag:"h2"}}),f=new j({props:{code:"cGlwJTIwaW5zdGFsbCUyMG9wdHVuYSUyRnNpZ29wdCUyRndhbmRiJTJGcmF5JTVCdHVuZSU1RA==",highlighted:"pip install optuna/sigopt/wandb/ray[tune]",wrap:!1}}),C=new us({props:{title:"예제에서 하이퍼파라미터 탐색을 활성화하는 방법",local:"how-to-enable-hyperparameter-search-in-example",headingTag:"h2"}}),g=new j({props:{code:"ZGVmJTIwc2lnb3B0X2hwX3NwYWNlKHRyaWFsKSUzQSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMCU1QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3QiUyMmJvdW5kcyUyMiUzQSUyMCU3QiUyMm1pbiUyMiUzQSUyMDFlLTYlMkMlMjAlMjJtYXglMjIlM0ElMjAxZS00JTdEJTJDJTIwJTIybmFtZSUyMiUzQSUyMCUyMmxlYXJuaW5nX3JhdGUlMjIlMkMlMjAlMjJ0eXBlJTIyJTNBJTIwJTIyZG91YmxlJTIyJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIyY2F0ZWdvcmljYWxfdmFsdWVzJTIyJTNBJTIwJTVCJTIyMTYlMjIlMkMlMjAlMjIzMiUyMiUyQyUyMCUyMjY0JTIyJTJDJTIwJTIyMTI4JTIyJTVEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIybmFtZSUyMiUzQSUyMCUyMnBlcl9kZXZpY2VfdHJhaW5fYmF0Y2hfc2l6ZSUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnR5cGUlMjIlM0ElMjAlMjJjYXRlZ29yaWNhbCUyMiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCU3RCUyQyUwQSUyMCUyMCUyMCUyMCU1RA==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">sigopt_hp_space</span>(<span class="hljs-params">trial</span>):
<span class="hljs-meta">... </span>    <span class="hljs-keyword">return</span> [
<span class="hljs-meta">... </span>        {<span class="hljs-string">&quot;bounds&quot;</span>: {<span class="hljs-string">&quot;min&quot;</span>: <span class="hljs-number">1e-6</span>, <span class="hljs-string">&quot;max&quot;</span>: <span class="hljs-number">1e-4</span>}, <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;learning_rate&quot;</span>, <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;double&quot;</span>},
<span class="hljs-meta">... </span>        {
<span class="hljs-meta">... </span>            <span class="hljs-string">&quot;categorical_values&quot;</span>: [<span class="hljs-string">&quot;16&quot;</span>, <span class="hljs-string">&quot;32&quot;</span>, <span class="hljs-string">&quot;64&quot;</span>, <span class="hljs-string">&quot;128&quot;</span>],
<span class="hljs-meta">... </span>            <span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;per_device_train_batch_size&quot;</span>,
<span class="hljs-meta">... </span>            <span class="hljs-string">&quot;type&quot;</span>: <span class="hljs-string">&quot;categorical&quot;</span>,
<span class="hljs-meta">... </span>        },
<span class="hljs-meta">... </span>    ]`,wrap:!1}}),$=new j({props:{code:"ZGVmJTIwb3B0dW5hX2hwX3NwYWNlKHRyaWFsKSUzQSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmxlYXJuaW5nX3JhdGUlMjIlM0ElMjB0cmlhbC5zdWdnZXN0X2Zsb2F0KCUyMmxlYXJuaW5nX3JhdGUlMjIlMkMlMjAxZS02JTJDJTIwMWUtNCUyQyUyMGxvZyUzRFRydWUpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIycGVyX2RldmljZV90cmFpbl9iYXRjaF9zaXplJTIyJTNBJTIwdHJpYWwuc3VnZ2VzdF9jYXRlZ29yaWNhbCglMjJwZXJfZGV2aWNlX3RyYWluX2JhdGNoX3NpemUlMjIlMkMlMjAlNUIxNiUyQyUyMDMyJTJDJTIwNjQlMkMlMjAxMjglNUQpJTJDJTBBJTIwJTIwJTIwJTIwJTdE",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">optuna_hp_space</span>(<span class="hljs-params">trial</span>):
<span class="hljs-meta">... </span>    <span class="hljs-keyword">return</span> {
<span class="hljs-meta">... </span>        <span class="hljs-string">&quot;learning_rate&quot;</span>: trial.suggest_float(<span class="hljs-string">&quot;learning_rate&quot;</span>, <span class="hljs-number">1e-6</span>, <span class="hljs-number">1e-4</span>, log=<span class="hljs-literal">True</span>),
<span class="hljs-meta">... </span>        <span class="hljs-string">&quot;per_device_train_batch_size&quot;</span>: trial.suggest_categorical(<span class="hljs-string">&quot;per_device_train_batch_size&quot;</span>, [<span class="hljs-number">16</span>, <span class="hljs-number">32</span>, <span class="hljs-number">64</span>, <span class="hljs-number">128</span>]),
<span class="hljs-meta">... </span>    }`,wrap:!1}}),W=new j({props:{code:"ZGVmJTIwcmF5X2hwX3NwYWNlKHRyaWFsKSUzQSUwQSUyMCUyMCUyMCUyMHJldHVybiUyMCU3QiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMmxlYXJuaW5nX3JhdGUlMjIlM0ElMjB0dW5lLmxvZ3VuaWZvcm0oMWUtNiUyQyUyMDFlLTQpJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIycGVyX2RldmljZV90cmFpbl9iYXRjaF9zaXplJTIyJTNBJTIwdHVuZS5jaG9pY2UoJTVCMTYlMkMlMjAzMiUyQyUyMDY0JTJDJTIwMTI4JTVEKSUyQyUwQSUyMCUyMCUyMCUyMCU3RA==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">ray_hp_space</span>(<span class="hljs-params">trial</span>):
<span class="hljs-meta">... </span>    <span class="hljs-keyword">return</span> {
<span class="hljs-meta">... </span>        <span class="hljs-string">&quot;learning_rate&quot;</span>: tune.loguniform(<span class="hljs-number">1e-6</span>, <span class="hljs-number">1e-4</span>),
<span class="hljs-meta">... </span>        <span class="hljs-string">&quot;per_device_train_batch_size&quot;</span>: tune.choice([<span class="hljs-number">16</span>, <span class="hljs-number">32</span>, <span class="hljs-number">64</span>, <span class="hljs-number">128</span>]),
<span class="hljs-meta">... </span>    }`,wrap:!1}}),B=new j({props:{code:"ZGVmJTIwd2FuZGJfaHBfc3BhY2UodHJpYWwpJTNBJTBBJTIwJTIwJTIwJTIwcmV0dXJuJTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIybWV0aG9kJTIyJTNBJTIwJTIycmFuZG9tJTIyJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIybWV0cmljJTIyJTNBJTIwJTdCJTIybmFtZSUyMiUzQSUyMCUyMm9iamVjdGl2ZSUyMiUyQyUyMCUyMmdvYWwlMjIlM0ElMjAlMjJtaW5pbWl6ZSUyMiU3RCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMnBhcmFtZXRlcnMlMjIlM0ElMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjJsZWFybmluZ19yYXRlJTIyJTNBJTIwJTdCJTIyZGlzdHJpYnV0aW9uJTIyJTNBJTIwJTIydW5pZm9ybSUyMiUyQyUyMCUyMm1pbiUyMiUzQSUyMDFlLTYlMkMlMjAlMjJtYXglMjIlM0ElMjAxZS00JTdEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIycGVyX2RldmljZV90cmFpbl9iYXRjaF9zaXplJTIyJTNBJTIwJTdCJTIydmFsdWVzJTIyJTNBJTIwJTVCMTYlMkMlMjAzMiUyQyUyMDY0JTJDJTIwMTI4JTVEJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTdEJTJDJTBBJTIwJTIwJTIwJTIwJTdE",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">wandb_hp_space</span>(<span class="hljs-params">trial</span>):
<span class="hljs-meta">... </span>    <span class="hljs-keyword">return</span> {
<span class="hljs-meta">... </span>        <span class="hljs-string">&quot;method&quot;</span>: <span class="hljs-string">&quot;random&quot;</span>,
<span class="hljs-meta">... </span>        <span class="hljs-string">&quot;metric&quot;</span>: {<span class="hljs-string">&quot;name&quot;</span>: <span class="hljs-string">&quot;objective&quot;</span>, <span class="hljs-string">&quot;goal&quot;</span>: <span class="hljs-string">&quot;minimize&quot;</span>},
<span class="hljs-meta">... </span>        <span class="hljs-string">&quot;parameters&quot;</span>: {
<span class="hljs-meta">... </span>            <span class="hljs-string">&quot;learning_rate&quot;</span>: {<span class="hljs-string">&quot;distribution&quot;</span>: <span class="hljs-string">&quot;uniform&quot;</span>, <span class="hljs-string">&quot;min&quot;</span>: <span class="hljs-number">1e-6</span>, <span class="hljs-string">&quot;max&quot;</span>: <span class="hljs-number">1e-4</span>},
<span class="hljs-meta">... </span>            <span class="hljs-string">&quot;per_device_train_batch_size&quot;</span>: {<span class="hljs-string">&quot;values&quot;</span>: [<span class="hljs-number">16</span>, <span class="hljs-number">32</span>, <span class="hljs-number">64</span>, <span class="hljs-number">128</span>]},
<span class="hljs-meta">... </span>        },
<span class="hljs-meta">... </span>    }`,wrap:!1}}),k=new j({props:{code:"ZGVmJTIwbW9kZWxfaW5pdCh0cmlhbCklM0ElMEElMjAlMjAlMjAlMjByZXR1cm4lMjBBdXRvTW9kZWxGb3JTZXF1ZW5jZUNsYXNzaWZpY2F0aW9uLmZyb21fcHJldHJhaW5lZCglMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtb2RlbF9hcmdzLm1vZGVsX25hbWVfb3JfcGF0aCUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGZyb21fdGYlM0Rib29sKCUyMi5ja3B0JTIyJTIwaW4lMjBtb2RlbF9hcmdzLm1vZGVsX25hbWVfb3JfcGF0aCklMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjb25maWclM0Rjb25maWclMkMlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBjYWNoZV9kaXIlM0Rtb2RlbF9hcmdzLmNhY2hlX2RpciUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHJldmlzaW9uJTNEbW9kZWxfYXJncy5tb2RlbF9yZXZpc2lvbiUyQyUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMHRva2VuJTNEVHJ1ZSUyMGlmJTIwbW9kZWxfYXJncy51c2VfYXV0aF90b2tlbiUyMGVsc2UlMjBOb25lJTJDJTBBJTIwJTIwJTIwJTIwKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span><span class="hljs-keyword">def</span> <span class="hljs-title function_">model_init</span>(<span class="hljs-params">trial</span>):
<span class="hljs-meta">... </span>    <span class="hljs-keyword">return</span> AutoModelForSequenceClassification.from_pretrained(
<span class="hljs-meta">... </span>        model_args.model_name_or_path,
<span class="hljs-meta">... </span>        from_tf=<span class="hljs-built_in">bool</span>(<span class="hljs-string">&quot;.ckpt&quot;</span> <span class="hljs-keyword">in</span> model_args.model_name_or_path),
<span class="hljs-meta">... </span>        config=config,
<span class="hljs-meta">... </span>        cache_dir=model_args.cache_dir,
<span class="hljs-meta">... </span>        revision=model_args.model_revision,
<span class="hljs-meta">... </span>        token=<span class="hljs-literal">True</span> <span class="hljs-keyword">if</span> model_args.use_auth_token <span class="hljs-keyword">else</span> <span class="hljs-literal">None</span>,
<span class="hljs-meta">... </span>    )`,wrap:!1}}),A=new j({props:{code:"dHJhaW5lciUyMCUzRCUyMFRyYWluZXIoJTBBJTIwJTIwJTIwJTIwbW9kZWwlM0ROb25lJTJDJTBBJTIwJTIwJTIwJTIwYXJncyUzRHRyYWluaW5nX2FyZ3MlMkMlMEElMjAlMjAlMjAlMjB0cmFpbl9kYXRhc2V0JTNEc21hbGxfdHJhaW5fZGF0YXNldCUyQyUwQSUyMCUyMCUyMCUyMGV2YWxfZGF0YXNldCUzRHNtYWxsX2V2YWxfZGF0YXNldCUyQyUwQSUyMCUyMCUyMCUyMGNvbXB1dGVfbWV0cmljcyUzRGNvbXB1dGVfbWV0cmljcyUyQyUwQSUyMCUyMCUyMCUyMHByb2Nlc3NpbmdfY2xhc3MlM0R0b2tlbml6ZXIlMkMlMEElMjAlMjAlMjAlMjBtb2RlbF9pbml0JTNEbW9kZWxfaW5pdCUyQyUwQSUyMCUyMCUyMCUyMGRhdGFfY29sbGF0b3IlM0RkYXRhX2NvbGxhdG9yJTJDJTBBKQ==",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>trainer = Trainer(
<span class="hljs-meta">... </span>    model=<span class="hljs-literal">None</span>,
<span class="hljs-meta">... </span>    args=training_args,
<span class="hljs-meta">... </span>    train_dataset=small_train_dataset,
<span class="hljs-meta">... </span>    eval_dataset=small_eval_dataset,
<span class="hljs-meta">... </span>    compute_metrics=compute_metrics,
<span class="hljs-meta">... </span>    processing_class=tokenizer,
<span class="hljs-meta">... </span>    model_init=model_init,
<span class="hljs-meta">... </span>    data_collator=data_collator,
<span class="hljs-meta">... </span>)`,wrap:!1}}),V=new j({props:{code:"YmVzdF90cmlhbCUyMCUzRCUyMHRyYWluZXIuaHlwZXJwYXJhbWV0ZXJfc2VhcmNoKCUwQSUyMCUyMCUyMCUyMGRpcmVjdGlvbiUzRCUyMm1heGltaXplJTIyJTJDJTBBJTIwJTIwJTIwJTIwYmFja2VuZCUzRCUyMm9wdHVuYSUyMiUyQyUwQSUyMCUyMCUyMCUyMGhwX3NwYWNlJTNEb3B0dW5hX2hwX3NwYWNlJTJDJTBBJTIwJTIwJTIwJTIwbl90cmlhbHMlM0QyMCUyQyUwQSUyMCUyMCUyMCUyMGNvbXB1dGVfb2JqZWN0aXZlJTNEY29tcHV0ZV9vYmplY3RpdmUlMkMlMEEp",highlighted:`<span class="hljs-meta">&gt;&gt;&gt; </span>best_trial = trainer.hyperparameter_search(
<span class="hljs-meta">... </span>    direction=<span class="hljs-string">&quot;maximize&quot;</span>,
<span class="hljs-meta">... </span>    backend=<span class="hljs-string">&quot;optuna&quot;</span>,
<span class="hljs-meta">... </span>    hp_space=optuna_hp_space,
<span class="hljs-meta">... </span>    n_trials=<span class="hljs-number">20</span>,
<span class="hljs-meta">... </span>    compute_objective=compute_objective,
<span class="hljs-meta">... </span>)`,wrap:!1}}),x=new us({props:{title:"DDP 미세 조정을 위한 하이퍼파라미터 탐색",local:"hyperparameter-search-for-ddp-finetune",headingTag:"h2"}}),G=new Ss({props:{source:"https://github.com/huggingface/transformers/blob/main/docs/source/ko/hpo_train.md"}}),{c(){T=p("meta"),H=e(),R=p("p"),F=e(),i(U.$$.fragment),z=e(),h=p("p"),h.innerHTML=fs,E=e(),i(w.$$.fragment),D=e(),u=p("p"),u.innerHTML=Cs,L=e(),I=p("p"),I.textContent=ds,P=e(),i(f.$$.fragment),K=e(),i(C.$$.fragment),O=e(),d=p("p"),d.textContent=bs,ss=e(),b=p("p"),b.innerHTML=gs,as=e(),i(g.$$.fragment),ls=e(),_=p("p"),_.innerHTML=_s,ts=e(),i($.$$.fragment),es=e(),q=p("p"),q.innerHTML=$s,ns=e(),i(W.$$.fragment),ps=e(),Z=p("p"),Z.innerHTML=qs,rs=e(),i(B.$$.fragment),is=e(),X=p("p"),X.innerHTML=Ws,Ms=e(),i(k.$$.fragment),ms=e(),Y=p("p"),Y.innerHTML=Zs,ys=e(),i(A.$$.fragment),Js=e(),v=p("p"),v.innerHTML=Bs,cs=e(),Q=p("p"),Q.textContent=Xs,os=e(),i(V.$$.fragment),Ts=e(),i(x.$$.fragment),js=e(),N=p("p"),N.textContent=ks,Us=e(),i(G.$$.fragment),hs=e(),S=p("p"),this.h()},l(s){const a=Gs("svelte-u9bgzb",document.head);T=r(a,"META",{name:!0,content:!0}),a.forEach(l),H=n(s),R=r(s,"P",{}),Ys(R).forEach(l),F=n(s),M(U.$$.fragment,s),z=n(s),h=r(s,"P",{"data-svelte-h":!0}),m(h)!=="svelte-19l510c"&&(h.innerHTML=fs),E=n(s),M(w.$$.fragment,s),D=n(s),u=r(s,"P",{"data-svelte-h":!0}),m(u)!=="svelte-10qeb0i"&&(u.innerHTML=Cs),L=n(s),I=r(s,"P",{"data-svelte-h":!0}),m(I)!=="svelte-1n3obee"&&(I.textContent=ds),P=n(s),M(f.$$.fragment,s),K=n(s),M(C.$$.fragment,s),O=n(s),d=r(s,"P",{"data-svelte-h":!0}),m(d)!=="svelte-1aiezuq"&&(d.textContent=bs),ss=n(s),b=r(s,"P",{"data-svelte-h":!0}),m(b)!=="svelte-wifdo4"&&(b.innerHTML=gs),as=n(s),M(g.$$.fragment,s),ls=n(s),_=r(s,"P",{"data-svelte-h":!0}),m(_)!=="svelte-15tcz6x"&&(_.innerHTML=_s),ts=n(s),M($.$$.fragment,s),es=n(s),q=r(s,"P",{"data-svelte-h":!0}),m(q)!=="svelte-1q8ydvq"&&(q.innerHTML=$s),ns=n(s),M(W.$$.fragment,s),ps=n(s),Z=r(s,"P",{"data-svelte-h":!0}),m(Z)!=="svelte-1a9peeq"&&(Z.innerHTML=qs),rs=n(s),M(B.$$.fragment,s),is=n(s),X=r(s,"P",{"data-svelte-h":!0}),m(X)!=="svelte-18eypew"&&(X.innerHTML=Ws),Ms=n(s),M(k.$$.fragment,s),ms=n(s),Y=r(s,"P",{"data-svelte-h":!0}),m(Y)!=="svelte-1bll52t"&&(Y.innerHTML=Zs),ys=n(s),M(A.$$.fragment,s),Js=n(s),v=r(s,"P",{"data-svelte-h":!0}),m(v)!=="svelte-ikq9mj"&&(v.innerHTML=Bs),cs=n(s),Q=r(s,"P",{"data-svelte-h":!0}),m(Q)!=="svelte-1k38imx"&&(Q.textContent=Xs),os=n(s),M(V.$$.fragment,s),Ts=n(s),M(x.$$.fragment,s),js=n(s),N=r(s,"P",{"data-svelte-h":!0}),m(N)!=="svelte-13bo63v"&&(N.textContent=ks),Us=n(s),M(G.$$.fragment,s),hs=n(s),S=r(s,"P",{}),Ys(S).forEach(l),this.h()},h(){As(T,"name","hf:doc:metadata"),As(T,"content",Fs)},m(s,a){Rs(document.head,T),t(s,H,a),t(s,R,a),t(s,F,a),y(U,s,a),t(s,z,a),t(s,h,a),t(s,E,a),y(w,s,a),t(s,D,a),t(s,u,a),t(s,L,a),t(s,I,a),t(s,P,a),y(f,s,a),t(s,K,a),y(C,s,a),t(s,O,a),t(s,d,a),t(s,ss,a),t(s,b,a),t(s,as,a),y(g,s,a),t(s,ls,a),t(s,_,a),t(s,ts,a),y($,s,a),t(s,es,a),t(s,q,a),t(s,ns,a),y(W,s,a),t(s,ps,a),t(s,Z,a),t(s,rs,a),y(B,s,a),t(s,is,a),t(s,X,a),t(s,Ms,a),y(k,s,a),t(s,ms,a),t(s,Y,a),t(s,ys,a),y(A,s,a),t(s,Js,a),t(s,v,a),t(s,cs,a),t(s,Q,a),t(s,os,a),y(V,s,a),t(s,Ts,a),y(x,s,a),t(s,js,a),t(s,N,a),t(s,Us,a),y(G,s,a),t(s,hs,a),t(s,S,a),ws=!0},p:Qs,i(s){ws||(J(U.$$.fragment,s),J(w.$$.fragment,s),J(f.$$.fragment,s),J(C.$$.fragment,s),J(g.$$.fragment,s),J($.$$.fragment,s),J(W.$$.fragment,s),J(B.$$.fragment,s),J(k.$$.fragment,s),J(A.$$.fragment,s),J(V.$$.fragment,s),J(x.$$.fragment,s),J(G.$$.fragment,s),ws=!0)},o(s){c(U.$$.fragment,s),c(w.$$.fragment,s),c(f.$$.fragment,s),c(C.$$.fragment,s),c(g.$$.fragment,s),c($.$$.fragment,s),c(W.$$.fragment,s),c(B.$$.fragment,s),c(k.$$.fragment,s),c(A.$$.fragment,s),c(V.$$.fragment,s),c(x.$$.fragment,s),c(G.$$.fragment,s),ws=!1},d(s){s&&(l(H),l(R),l(F),l(z),l(h),l(E),l(D),l(u),l(L),l(I),l(P),l(K),l(O),l(d),l(ss),l(b),l(as),l(ls),l(_),l(ts),l(es),l(q),l(ns),l(ps),l(Z),l(rs),l(is),l(X),l(Ms),l(ms),l(Y),l(ys),l(Js),l(v),l(cs),l(Q),l(os),l(Ts),l(js),l(N),l(Us),l(hs),l(S)),l(T),o(U,s),o(w,s),o(f,s),o(C,s),o(g,s),o($,s),o(W,s),o(B,s),o(k,s),o(A,s),o(V,s),o(x,s),o(G,s)}}}const Fs='{"title":"Trainer API를 사용한 하이퍼파라미터 탐색","local":"hyperparameter-search-using-trainer-api","sections":[{"title":"하이퍼파라미터 탐색 백엔드","local":"hyperparameter-search-backend","sections":[],"depth":2},{"title":"예제에서 하이퍼파라미터 탐색을 활성화하는 방법","local":"how-to-enable-hyperparameter-search-in-example","sections":[],"depth":2},{"title":"DDP 미세 조정을 위한 하이퍼파라미터 탐색","local":"hyperparameter-search-for-ddp-finetune","sections":[],"depth":2}],"depth":1}';function zs(Is){return Vs(()=>{new URLSearchParams(window.location.search).get("fw")}),[]}class Ks extends xs{constructor(T){super(),Ns(this,T,zs,Hs,vs,{})}}export{Ks as component};
