国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
まず、ニューロンの重要性を計算する関數(shù)を見てみましょう。これは、最終的にモデルに殘っているニューロンとどのニューロンが除去されるかを決定します。
エクスペリエンスヒントテスト
ホームページ テクノロジー周辺機器 AI llama3.2および同様の大手言語モデルを剪定する方法

llama3.2および同様の大手言語モデルを剪定する方法

Feb 25, 2025 pm 06:26 PM

大きなモデルのサイズはパフォーマンスを向上させ続けていますが、より効率的でコンパクトなモデルの需要も高まっています。ただし、コア関數(shù)を失うことなくモデルのサイズを縮小することは複雑なタスクです。

量子化や剪定などの手法は、モデルサイズを縮小するためによく使用されますが、知識の蒸留や転送學習などの方法は、削減プロセス中に失われた機能を保持または復元します。

その中で、

How to Prune LLaMA 3.2 and Similar Large Language Models剪定は、モデルのサイズを削減するための最も効果的な戦略の1つです。単純化された數(shù)値表現(xiàn)の量子化とは異なり、剪定には、ニューロンや層全體など、モデルの特定の部分を除去することが含まれます。しかし、この有効性にはコストがかかります。剪定を正しく適用することは困難です。剪定するモデルの部分を決定する必要があるだけでなく、モデルの機能への影響を最小限に抑えるために、削除する要素を慎重に選択する必要もあります。 この記事では、構(gòu)造化された幅剪定(選択されたニューロンの除去)に焦點を當て、ゲート線形ユニット(GLU)構(gòu)造を使用してMLP層に効果的に適用する方法を示します。概説された手順に従うことにより、剪定がモデルサイズを大幅に削減しながら、コヒーレント出力を生成し、重要なベンチマークでうまく機能する能力を保持できる方法を理解できます。

剪定とは何ですか?モデルにどのように影響しますか?

前述のように、プルーニングでは、モデルの最終出力に最小の寄與に寄與すると考えられる部分を削除することが含まれます。これらの重要性の低いコンポーネントを慎重に選択することにより、Pruningは、コア機能を犠牲にすることなく、より少ないパラメーターとより低い計算要件を備えたより効率的なモデルを作成することを目指しています。

剪定の主な課題は、削除するモデルのどの部分を決定することです。モデルのすべての部分がパフォーマンスに同じ効果があるわけではありません。

これを説明するために、この記事で使用されているモデルの構(gòu)造を調(diào)べてみましょう:Llama 3.2–1b。

構(gòu)造を調(diào)べると、剪定ターゲットとして使用できる3つの主要なモジュールを識別できます:埋め込み、自己関節(jié)メカニズム、およびMLP層。どの部分が剪定プロセスの焦點であるべきかを決定するために、潛在的な利點と可能な影響を理解する必要があります。

最初のステップは、潛在的な減少を理解するために、これらの部品がモデルで占有する空間のサイズを評価することです。
<code>LlamaForCausalLM(
  (model): LlamaModel(
    (embed_tokens): Embedding(128256, 2048)
    (layers): ModuleList(
      (0-15): 16 x LlamaDecoderLayer(
        (self_attn): LlamaSdpaAttention(
          (q_proj): Linear(in_features=2048, out_features=2048, bias=False)
          (k_proj): Linear(in_features=2048, out_features=512, bias=False)
          (v_proj): Linear(in_features=2048, out_features=512, bias=False)
          (o_proj): Linear(in_features=2048, out_features=2048, bias=False)
          (rotary_emb): LlamaRotaryEmbedding()
        )
        (mlp): LlamaMLP(
          (gate_proj): Linear(in_features=2048, out_features=8192, bias=False)
          (up_proj): Linear(in_features=2048, out_features=8192, bias=False)
          (down_proj): Linear(in_features=8192, out_features=2048, bias=False)
          (act_fn): SiLU()
        )
        (input_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
        (post_attention_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
      )
    )
    (norm): LlamaRMSNorm((2048,), eps=1e-05)
    (rotary_emb): LlamaRotaryEmbedding()
  )
  (lm_head): Linear(in_features=2048, out_features=128256, bias=False)
)</code>

パラメーター分布分析

埋め込みおよび出力レイヤー(embed_tokens、lm_head):

128256×2048≈262mパラメーター/レイヤー

2つのレイヤーには、合計524mパラメーター
    があります
  • 自己注意メカニズム(self_attn):

16レイヤー、各レイヤーには4つの投影サブレイヤーが含まれています レイヤーあたり

2048×(2048 512 512 2048)≈10.5mパラメーター
  • 合計:10.5×16≈168mパラメーター
  • MLPレイヤー(MLP):
    Glu構(gòu)造を備えた16層(_gate
  • proj 、_upprojおよび_downproj レイヤーあたり
  • 2048×8192 2048×8192 8192×2048≈50mパラメーター
  • 合計:50×16≈805mパラメーター
MLP層がモデルサイズの50%以上を占めていることがわかります。そのため、それらは明示的な剪定候補であることがわかります。ただし、この決定を下す前に、各セクションのモデル動作への貢獻を理解することが重要です。

インパクト分析

埋め込み層は、モデルが効果的に処理できる密なベクトル表現(xiàn)に入力を変換する責任があります。編成層を剪定すると、モデルが特定の単語を理解する能力を失うか、少なくとも入力セマンティクスの意味を正しくキャプチャするベクトルを作成する能力を低下させる可能性があります。たとえば、入力語彙の非常に特定の部分のみを使用する非常に特定のモデル(たとえば、財務(wù)または醫(yī)療分析のモデル)を作成する場合、この層を剪定することがオプションになる場合があります。

注意メカニズムにより、各マーカーを処理するときに、モデルが入力シーケンスの最も関連する部分に焦點を合わせることができます。入力シーケンス內(nèi)の各ペアのマーカー間の加重重要性スコアを計算し、モデルがコンテキストをキャプチャし、関連情報に集中できるようにします。このセクションを剪定すると、テキストの概要や翻訳など、入力コンテキストを幅広く理解する必要があるタスクを?qū)g行するモデルの能力が低下します。また、生成されたテキストの一貫性にも影響します。

MLPレイヤー注意メカニズムとともに、一連のデータ拡張と収縮を通じて複雑なパターンを理解するモデルの能力を高めます。このセクションを剪定すると、トレーニング中に見られない、またはカバーされていないタスクに対するモデルの応答が制限されます。言い換えれば、モデルの一般化能力と、なじみのない入力にコヒーレントな応答を提供する能力が低下します。

ターゲットをターゲットにするモデルのどの部分を決定したら、次のステップは、幅の剪定(単一のニューロンの除去)または深さ剪定(レイヤー全體の除去)を?qū)g行するかどうかを判斷することです。

ご覧のとおり、剪定モデルは多くの決定を含むかなり複雑なプロセスです。生成されたモデルの機能だけでなく、トレーニング機能も評価する必要があります。これらのモデルは微調(diào)整されるように設(shè)計されており、特定のタスクに使用されることが多いため、基礎(chǔ)となるモデルよりも作成する特定のタスクに対してより効率的です。

ゲートされた線形ユニットの特性

ゲート線形ユニット(GLU)アーキテクチャは、Llama、Gemma、Mistral、Qwen、同様の大規(guī)模な言語モデルなど、現(xiàn)代のニューラルネットワークで一般的に使用されています。 Gluは、モデルが情報フローを選択的にフィルタリングおよび制御できる要素ごとのゲーティングメカニズムを?qū)毪筏蓼埂¥长违ⅸ`キテクチャは、通常、gate_proj、up_proj、およびdown_proj(上記のモデル構(gòu)造に示すように)のレイヤーのペアで構(gòu)成されており、データを拡張および縮小するために連攜します。

このメカニズムにより、モデルは効率を維持しながら、より複雑なパターンを処理できます。ただし、これは、GLU構(gòu)造の層がしっかりと結(jié)合されており、これらの層を剪定するには慎重に検討する必要があることも意味します。

レイヤー上の操作(たとえば、ニューロンの除去)は、対応するペア層に反射する必要があります。たとえば、_gateproj からニューロンを除去する場合、up_projから同じニューロンを除去する必要があり、_downprojレイヤーをそれに応じて再変更する必要があります。最も重要なことは、どのニューロンが保持されるかを決定するためにニューロンの重要性を計算する場合、ニューロンペアを一緒に評価する必要があることです。

これらの層のバランスを破壊すると、少數(shù)のニューロンのみが除去されたとしても、モデルさえもパフォーマンスの低下につながる可能性があり、モデルは完全に無効です。

プルーニングl(fā)lama 3.2モデル

この例はLlamaモデルを使用して実証されますが、コードはGemmaおよびQwenモデルでも正常にテストされています。

githubコードベースの完全なコードにアクセスできます。

Github - Peremartra/Large-Language-Model-Notebooks-Course:大規(guī)模な言語に関する実用的なコース…

メモリ內(nèi)の元のモデルで最初に行ったステップは、小さなプロンプトを?qū)g行して結(jié)果を保存することでした。これにより、剪定プロセスを通じて生成されたモデルが一貫性があるか、それどころか、理解可能なテキストを生成する能力を失うかどうかを簡単に、直感的かつ迅速に確認できます。

私の最初の試みで、結(jié)果のテキストは、モデルのGlu構(gòu)造を遵守できないため、剪定プロセスの根本的な欠陥を間違いなく示していることを保証できます。

元のプロンプトは、「パリは...の首都です」です。元のモデルの応答を見て、最初の失敗した剪定の試みによって返された応答と比較しましょう。

基本モデル:

「パリはフランスの首都であり、世界で最も訪問された都市の1つです。蕓術(shù)、文化、ファッション、食べ物の首都です。都市には豊かな歴史があり、…を含む多くの有名なランドマークがあります。 …」

誤ったモデルの20%のみを剪定します:

「パリはフランスの首都です。これが主な領(lǐng)域です。これは...フランスの都市です...」 明らかに、最初の試みでは何かがうまくいきませんでした。これは些細なように思えるかもしれませんが、このような経験チェックはあなたに多くの時間を節(jié)約することができます。

実裝の詳細

まず、ニューロンの重要性を計算する関數(shù)を見てみましょう。これは、最終的にモデルに殘っているニューロンとどのニューロンが除去されるかを決定します。

この関數(shù)は、_gate

proj
<code>LlamaForCausalLM(
  (model): LlamaModel(
    (embed_tokens): Embedding(128256, 2048)
    (layers): ModuleList(
      (0-15): 16 x LlamaDecoderLayer(
        (self_attn): LlamaSdpaAttention(
          (q_proj): Linear(in_features=2048, out_features=2048, bias=False)
          (k_proj): Linear(in_features=2048, out_features=512, bias=False)
          (v_proj): Linear(in_features=2048, out_features=512, bias=False)
          (o_proj): Linear(in_features=2048, out_features=2048, bias=False)
          (rotary_emb): LlamaRotaryEmbedding()
        )
        (mlp): LlamaMLP(
          (gate_proj): Linear(in_features=2048, out_features=8192, bias=False)
          (up_proj): Linear(in_features=2048, out_features=8192, bias=False)
          (down_proj): Linear(in_features=8192, out_features=2048, bias=False)
          (act_fn): SiLU()
        )
        (input_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
        (post_attention_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
      )
    )
    (norm): LlamaRMSNorm((2048,), eps=1e-05)
    (rotary_emb): LlamaRotaryEmbedding()
  )
  (lm_head): Linear(in_features=2048, out_features=128256, bias=False)
)</code>
レイヤーと_up

projレイヤーの重みを受け取り、説明したように、それらはペアで動作します。したがって、ニューロンの重要性は組み合わせて計算する必要があります。 計算は非常に単純です。各ニューロンの重量の絶対値を計算します。理論的には、最も極端な値を持つニューロンは、値を介して値を大幅に変更することにより、モデルの出力に大きな影響を與えるため、正と負の値の両方が考慮されます。

ここでは、マリウス?カーマンが計算に最小値を組み込むための貢獻に感謝しなければなりません。この方法はそれらなしではうまく機能しますが、それらを含むことで結(jié)果を改善できます。

各レイヤーの重要性は個別に計算されますが、関數(shù)は複合値を返します。

<code>LlamaForCausalLM(
  (model): LlamaModel(
    (embed_tokens): Embedding(128256, 2048)
    (layers): ModuleList(
      (0-15): 16 x LlamaDecoderLayer(
        (self_attn): LlamaSdpaAttention(
          (q_proj): Linear(in_features=2048, out_features=2048, bias=False)
          (k_proj): Linear(in_features=2048, out_features=512, bias=False)
          (v_proj): Linear(in_features=2048, out_features=512, bias=False)
          (o_proj): Linear(in_features=2048, out_features=2048, bias=False)
          (rotary_emb): LlamaRotaryEmbedding()
        )
        (mlp): LlamaMLP(
          (gate_proj): Linear(in_features=2048, out_features=8192, bias=False)
          (up_proj): Linear(in_features=2048, out_features=8192, bias=False)
          (down_proj): Linear(in_features=8192, out_features=2048, bias=False)
          (act_fn): SiLU()
        )
        (input_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
        (post_attention_layernorm): LlamaRMSNorm((2048,), eps=1e-05)
      )
    )
    (norm): LlamaRMSNorm((2048,), eps=1e-05)
    (rotary_emb): LlamaRotaryEmbedding()
  )
  (lm_head): Linear(in_features=2048, out_features=128256, bias=False)
)</code>

この関數(shù)は、最も重要なニューロンを保持しながら、新しい小さな層を作成します。このプロセスには次のものが含まれます

    現(xiàn)在の重量を抽出します:
<code>def compute_neuron_pair_importance(gate_weight, up_weight):
    """
    計算神經(jīng)元對重要性分數(shù)(最大絕對權(quán)重)
    參數(shù):
    - gate_weight:來自 gate_proj 層的權(quán)重矩陣。
    - up_weight:來自 up_weight 層的權(quán)重矩陣。
    返回:
    - importance_scores:每個神經(jīng)元對的重要性分數(shù)。
    """
    gate_max_abs = torch.max(gate_weight, dim=1).values + torch.abs(torch.min(gate_weight, dim=1).values)
    up_max_abs = torch.max(up_weight, dim=1).values + torch.abs(torch.min(up_weight, dim=1).values)
    importance_scores = gate_max_abs + up_max_abs
    return importance_scores</code>
    ニューロンペアの重要なスコアの計算:
<code>def prune_neuron_pairs(mlp, prune_percent):
    """
    減少**gate_proj**、**up_proj**、**down_proj**層的維度,移除不太重要的神經(jīng)元。
    參數(shù):
    - mlp:要剪枝的層。
    - prune_percent:要剪枝的神經(jīng)元的百分比。
    返回:
    - new_gate_proj, new_up_proj, new_down_proj:新的剪枝層。
    - k:新的中間大小。
    """
    # 從 MLP 層提取權(quán)重
    gate_weight = mlp.gate_proj.weight.data.float()
    up_weight = mlp.up_proj.weight.data.float()

    # 計算重要性分數(shù)
    importance_scores = compute_neuron_pair_importance(gate_weight, up_weight)
    original_intermediate_size = gate_weight.size(0)

    # 計算要保留的神經(jīng)元
    num_neuron_pairs_to_prune = min(int(prune_percent * original_intermediate_size),
                                   original_intermediate_size - 1)
    k = original_intermediate_size - num_neuron_pairs_to_prune

    # 驗證檢查
    if k < 1:
        raise ValueError("k must be greater than 0")

    # 選擇要保留的神經(jīng)元
    _, indices_to_keep = torch.topk(importance_scores, k, largest=True, sorted=True)
    indices_to_keep = indices_to_keep.sort().values

    # 創(chuàng)建并填充新層
    new_gate_proj = nn.Linear(mlp.gate_proj.in_features, k, bias=False).to(device)
    new_up_proj = nn.Linear(mlp.up_proj.in_features, k, bias=False).to(device)
    new_down_proj = nn.Linear(k, mlp.down_proj.out_features, bias=False).to(device)

    # 將選定的權(quán)重復制到新層。
    new_gate_proj.weight.data = mlp.gate_proj.weight.data[indices_to_keep, :]
    new_up_proj.weight.data = mlp.up_proj.weight.data[indices_to_keep, :]
    new_down_proj.weight.data = mlp.down_proj.weight.data[:, indices_to_keep]

    return new_gate_proj, new_up_proj, new_down_proj, k</code>
各ニューロンについて計算された重要なスコアを含むテンソルを取得します。これらのスコアは、各ニューロンの最終出力への寄與を反映しており、どのニューロンを保持すべきかを示しています。

    保持するニューロンの數(shù)を決定します:
<code># 從 MLP 層提取權(quán)重
    gate_weight = mlp.gate_proj.weight.data.float()
    up_weight = mlp.up_proj.weight.data.float()</code>
保存するパラメーターとして提供される剪定の割合と、保存する層の元のサイズを使用して、保持するニューロンの総數(shù)を計算します。

    最も重要なニューロンを選択します:
<code># 計算重要性分數(shù)
    importance_scores = compute_neuron_pair_importance(gate_weight, up_weight)
    original_intermediate_size = gate_weight.size(0)</code>
トーチは、最も重要なスコアでニューロンを取得するために使用され、それを最も重要な順序から最も重要な順序に配置します。 Torchはデータを降順で返品するため、sortメソッドを使用して昇順で再配置されます。これが必要なものです。

    新しい小さなレイヤーを作成します:
<code># 計算要保留的神經(jīng)元
    num_neuron_pairs_to_prune = min(int(prune_percent * original_intermediate_size),
                                   original_intermediate_size - 1)
    k = original_intermediate_size - num_neuron_pairs_to_prune</code>
選択したインデックスに従って寸法が調(diào)整される3つの新しいレイヤーを作成します。 _new_gate

projおよび_new_upproj では、出力寸法が縮小されている間に入力寸法が保存されます。代わりに、_new_downprojでは、出力寸法が同じままである間、入力寸法が調(diào)整されます。

    選択した重量を新しいレイヤーにコピーします:
<code># 選擇要保留的神經(jīng)元
    _, indices_to_keep = torch.topk(importance_scores, k, largest=True, sorted=True)
    indices_to_keep = indices_to_keep.sort().values</code>
関連する重みは、元の層から新しい層に伝達され、選択されたニューロンに対応する重みのみが保持されるようにします。

さて、すべてのレイヤーを反復し、修正されたモデルを構(gòu)築する責任のある関數(shù)を見てみましょう。

この関數(shù)は、モデルの各レイヤーを反復し、剪定プロセスを適用し、モデルの構(gòu)成を更新して新しいアーキテクチャを反映します。
<code># 創(chuàng)建并填充新層
    new_gate_proj = nn.Linear(mlp.gate_proj.in_features, k, bias=False).to(device)
    new_up_proj = nn.Linear(mlp.up_proj.in_features, k, bias=False).to(device)
    new_down_proj = nn.Linear(k, mlp.down_proj.out_features, bias=False).to(device)</code>

構(gòu)成ファイルが更新されていない場合、フェイスを抱きしめる場合でもローカルでも、保存後にモデルを使用できません。多くのライブラリ(Faceの変圧器を抱き締めるなど)は、

model.config

に依存して、モデルのアーキテクチャを説明しています。構(gòu)成が実際の構(gòu)造と一致しない場合、これらのライブラリを介して実行される微調(diào)整または推論操作が失敗する可能性があります。 結(jié)果分析

このコードを使用して、Face Hubの抱きしめで使用できるいくつかのモデルを作成しました。

これらには次のものが含まれます

llama-3.2–1bに由來する3つのモデル、MLP層のニューロンは、それぞれ20%、40%、および60%を剪定しました。

Gemma-2–2bに基づくモデル、40%剪定。

  • これらのモデルをダウンロードすることができ、それらを使用することに加えて、それらのアーキテクチャと、それらが基づいている元のモデルと比較してどのような変更が発生したかを研究することもできます。
  • llama3.2–1bモデルを20%の剪定に適用した後、アーキテクチャの変更を分析してみましょう。

MLPブロックの中間層のサイズを除いて、モデルの構(gòu)造は変化しません。ご覧のとおり、_gate

proj

および_up

proj
<code># 將選定的權(quán)重復制到新層。
 new_gate_proj.weight.data = mlp.gate_proj.weight.data[indices_to_keep, :]
 new_up_proj.weight.data = mlp.up_proj.weight.data[indices_to_keep, :]
 new_down_proj.weight.data = mlp.down_proj.weight.data[:, indices_to_keep]</code>
proj

レイヤーは8192の機能から6554に削減されており、_downproj レイヤー。

この変更は、コードの関數(shù)とまったく同じです。モデルのパフォーマンスに重要なニューロンを保持しながら、これらのレイヤーを変更します。 8192の20%を除去すると、6553.6が得られます。これにより、ニューロンの正しい割合が剪定されていることが確認されます。

エクスペリエンスヒントテスト

さあ、プルーニックモデルがテストプロンプトでどのように機能するかを見てみましょう:

パリはフランスの首都です。また、世界で最も美しい都市の1つです。パリには見たり経験する価値のあることはたくさんありますので、1日でそれらをすべてカバーすることは不可能です。しかし、いくつかのことがあります...

応答は、元のモデルの応答とまったく同じではありませんが、一貫性を維持します。これは、モデルがその能力のほとんどを保持していることを示唆しており、さらに重要なことに、知識の蒸留または微調(diào)整を通じて損失を回復できることを示唆しています。

eleutherai / lm-valuation

この経験的チェックに加えて、最も一般的なベンチマークの一部を使用してモデルも評価しました。さまざまな程度の剪定がモデルのパフォーマンスにどのように影響するかを分析しましょう。

私たちが見たように、剪定の効果はやや非対稱です。

Boolqテストでは、タスクが有意な減少を経験しなかったと評価し、MLP層でニューロンの40%を失ったモデルでは、わずか2%減少しました。 How to Prune LLaMA 3.2 and Similar Large Language Models 対照的に、ランバダテストへの影響は非常に重要であり、精度は50%以上であり、

これは、モデルがその理解のほとんどを保持しているが、より自由な世代を必要とするテストで対処することは困難であることを示唆しています。

Boolqは、モデルにYes/Noで回答する必要があるテキストと質(zhì)問のみを提示します。これは、入力テキストの関係を理解するモデルの能力を測定することに焦點を當てたテストです。 一方、ランバダは、段落の最後の単語を推測するようにモデルに依頼します。これは、最後の単語が複雑な言語モデリングにおけるモデルの能力をテストする複雑なタスクです。

フェイスオープンLLMランキングをハグする

hugging hugging hugging face open LLMランキングのモデルの20%への剪定の結(jié)果は、基本モデルと広く使用されているTinyllama-1.1b-v1.1よりも優(yōu)れているため、さらに驚くべきことです。

このチャートでは、2つのモデルの結(jié)果を見ることができます。

このチャートを研究することにより、次の結(jié)論を描くことができます。

剪定後のモデルの平均パフォーマンスは、基本モデル(4.86対4.03)

よりも優(yōu)れています。これは、剪定プロセスが冗長性を減らしながら、主要領(lǐng)域のパフォーマンスを効果的に保持または強化することを示唆しています。

研究結(jié)果を通じて、剪定モデルの利點と短所を特定できます。

How to Prune LLaMA 3.2 and Similar Large Language Models利點:

  • ifeval :大幅な改善(19.94対14.78)は、剪定が過剰適合を減らすか、情報を効率的に抽出するモデルの能力を改善することを示しています。
  • musr :より良いパフォーマンス(4.39対2.56)は、剪定されたモデルが、長いコンテキストまたは物語の理解の推論を必要とするタスクをより良いハンドルで処理することを示しています。

短所:

  • bbh :不確実性の推論能力の低下(3.19対4.37)は、剪定が曖昧または多重解釈されたシナリオを処理するモデルの能力を低下させることを示している可能性があります。
  • mmlu-pro

エネルギー効率:剪定されたモデルは、エネルギー効率がわずかに高い(0.4 kg対0.42 kgのCO?)、これは競爭力のあるパフォーマンスを維持しながら計算オーバーヘッドを削減するという目標と一致しています。

さまざまなランキングでのモデルのパフォーマンスに関するより包括的な研究が必要ですが、これらの結(jié)果は、適切な知識の蒸留または微調(diào)整で大幅に改善できる有望なモデルがあることを示唆しています。最も重要なことは、これらの結(jié)果は、MLP層で実行される剪定プロセスと一致していることです。

結(jié)論

モデルの剪定プロセスが成功しました。 GLU層を処理するこのアプローチにより、モデルの機能のほとんどを保持しながら剪定を?qū)g行でき、サイズとリソースの消費量を大幅に削減できます。

テスト結(jié)果は、剪定モデルの前に任意の能力回復プロセス(例:

知識の蒸留または微調(diào)整)を?qū)g行することで得られることに注意することが重要です。 。 將來の仕事 探索する価値のある剪定技術(shù)はたくさんあります。おそらく最も直接的なことは、モデルのパフォーマンスに最も寄與するレイヤーを削除することを含む深度剪定です。 研究のもう1つの重要な分野は、これらの剪定されたモデルの知識蒸留プロセスであり、新しいタスクを?qū)W習する能力を保持するかどうかを評価することです。これにより、特に剪定されたモデルが最大の損失を示すベンチマークでは、パフォーマンスが基本モデルに近づく可能性があります。

特に、広範なインフラストラクチャ要件なしにLLM機能を展開しようとしている企業(yè)にとって、より軽量で効率的なモデルの開発は魅力的な領(lǐng)域のままです。この作業(yè)は、これらの強力なモデルを簡単にアクセスして展開できるようにする方法に関するさらなる研究のための基盤となります。

この記事は、大規(guī)模な言語モデルに関する完全なコースの一部であり、GitHubで入手できます。新しい記事の更新について學ぶには、コードベースまたは主演に従うことを検討してください。この方法で、新しいコンテンツを追加するときに通知されます。 私は本の著者です?!弗哎楗螗丧楗螗博`ジモデルプロジェクト:大規(guī)模な言語モデル戦略のアプリケーションと実裝」Apress Publishing Houseが発行しています。

生成AI、深い學習、Tensorflowについて定期的に書きます。 新しい記事の最新情報については、Mediumのアカウントをフォローすることを検討してください。もちろん、LinkedInで私に連絡(luò)してください。

以上がllama3.2および同様の大手言語モデルを剪定する方法の詳細內(nèi)容です。詳細については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當する法的責任を負いません。盜作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Kimi K2:最も強力なオープンソースエージェントモデル Kimi K2:最も強力なオープンソースエージェントモデル Jul 12, 2025 am 09:16 AM

今年初めにゲナイ産業(yè)を混亂させたオープンソースの中國モデルの洪水を覚えていますか? Deepseekはほとんどの見出しを取りましたが、Kimi K1.5はリストの著名な名前の1つでした。そして、モデルはとてもクールでした。

Grok 4 vs Claude 4:どちらが良いですか? Grok 4 vs Claude 4:どちらが良いですか? Jul 12, 2025 am 09:37 AM

2025年半ばまでに、AIの「武器競爭」は熱くなり、Xaiと人類は両方ともフラッグシップモデルであるGrok 4とClaude 4をリリースしました。これら2つのモデルは、設(shè)計哲學と展開プラットフォームの反対側(cè)にありますが、

今日、今日私たちの間を歩いている10の驚くべきヒューマノイドロボット 今日、今日私たちの間を歩いている10の驚くべきヒューマノイドロボット Jul 16, 2025 am 11:12 AM

しかし、おそらく1つを見るのに10年も待つ必要はありません。実際、本當に有用で人間のような機械の最初の波と考えられるものは、すでにここにあります。 近年、多くのプロトタイプと生産モデルがTから抜け出しています

LeiaのImmersityモバイルアプリは、毎日の寫真に3D深さをもたらします LeiaのImmersityモバイルアプリは、毎日の寫真に3D深さをもたらします Jul 09, 2025 am 11:17 AM

レイア獨自のニューラル深度エンジンの上に構(gòu)築されたアプリは、靜止畫像を処理し、シミュレートされた動き(パン、ズーム、視差効果など)とともに自然な深さを追加し、SCEに踏み込む印象を與える短いビデオリールを作成します。

コンテキストエンジニアリングは&#039; new&#039;迅速なエンジニアリング コンテキストエンジニアリングは&#039; new&#039;迅速なエンジニアリング Jul 12, 2025 am 09:33 AM

前年まで、迅速なエンジニアリングは、大規(guī)模な言語モデル(LLMS)と対話するための重要なスキルと見なされていました。しかし、最近、LLMは推論と理解能力を大幅に進めています。當然、私たちの期待

7種類のAIエージェントは何ですか? 7種類のAIエージェントは何ですか? Jul 11, 2025 am 11:08 AM

AIエンジンなど、ミラノからの新しい衣料品コレクションに関する詳細なフィードバックや、世界中で事業(yè)を展開しているビジネスの自動市場分析、または大規(guī)模な車両艦隊を管理するインテリジェントシステムなど、洗練されたものを想像してください。

これらのAIモデルは言語を?qū)Wぶことができず、戦略を?qū)Wびました これらのAIモデルは言語を?qū)Wぶことができず、戦略を?qū)Wびました Jul 09, 2025 am 11:16 AM

キングスカレッジロンドンとオックスフォード大學の研究者からの新しい研究は、Openai、Google、および人類が反復囚のジレンマに基づいた激しい鳴き聲競爭で一緒に投げ込まれたときに起こったことの結(jié)果を共有しています。これはノーでした

隠されたコマンド危機:研究者はAIを公開します 隠されたコマンド危機:研究者はAIを公開します Jul 13, 2025 am 11:08 AM

科學者は、システムをバイパスするための賢いが驚くべき方法を発見しました。 2025年7月は、研究者がアカデミックな提出物に目に見えない指示を挿入した精巧な戦略の発見をマークしました。これらの秘密の指示は尾でした

See all articles