LoRA (低ランク適応) は、大規模言語モデル (LLM) を微調整するために設計された一般的な手法です。このテクノロジはもともと Microsoft の研究者によって提案され、論文「LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS」に含まれていました。 LoRA は、ニューラル ネットワークのすべてのパラメーターを調整するのではなく、少数の低ランク行列の更新に重点を置き、モデルのトレーニングに必要な計算量を大幅に削減するという点で他の手法と異なります。
LoRA の微調整品質はフルモデルの微調整に匹敵するため、多くの人がこの方法を微調整アーティファクトと呼んでいます。そのリリース以来、多くの人がこのテクノロジーに興味を持ち、研究をより深く理解するためにコードを作成したいと考えてきました。これまでは、適切なドキュメントが存在しないことが問題でしたが、現在は役立つチュートリアルが用意されています。
このチュートリアルの著者は、機械学習と AI の著名な研究者である Sebastian Raschka 氏で、さまざまな効果的な LLM 微調整手法の中で、依然として LoRA が第一の選択肢であると述べています。この目的のために、Sebastian は LoRA をゼロから構築するブログ「Code LoRA From Scratch」を書きました。
この記事では、コードを最初から作成して低ランク適応 (LoRA) を紹介します。Sebastian は実験で DistilBERT モデルを微調整して使用しました。分類タスクに適用されます。
LoRA 手法と従来の微調整手法の比較結果は、LoRA 手法が 92.39% のテスト精度を達成し、最後の数層のみを微調整するよりも優れていることを示しています。モデルの (テスト精度の 86.22%) は、より優れたパフォーマンスを示しています。これは、LoRA 手法にはモデルのパフォーマンスの最適化において明らかな利点があり、モデルの汎化能力と予測精度をより向上させることができることを示しています。この結果は、より良いパフォーマンスと結果を得るために、モデルのトレーニングとチューニング中に高度な技術と方法を採用することの重要性を強調しています。
#セバスチャンがそれを達成する方法を比較することで、私たちは引き続き下を向いていきます。
#LoRA を最初から書く
LoRA レイヤーをコードで表現すると次のようになります:
このうち、in_dim は LoRA を使用して変更するレイヤーの入力ディメンションであり、対応する out_dim はレイヤーの出力ディメンションです。ハイパーパラメータ (スケーリング係数アルファ) もコードに追加されます。アルファ値が高いほどモデルの動作が大きく調整されることを意味し、値が低いほどその逆を意味します。さらに、この記事では、行列 A をランダム分布からのより小さい値で初期化し、行列 B をゼロで初期化します。
LoRA が関与するのは通常、ニューラル ネットワークの線形 (フィードフォワード) 層であることは言及する価値があります。たとえば、2 つの線形層を持つ単純な PyTorch モデルまたはモジュール (たとえば、これは Transformer ブロックのフィードフォワード モジュールである可能性があります) の場合、forward メソッドは次のように表現できます。
LoRA を使用する場合、通常、LoRA 更新はこれらの線形レイヤーの出力に追加され、コードは次のとおりです。
# #既存の PyTorch モデルを変更して LoRA を実装したい場合、簡単な方法は、各線形レイヤーを LinearWithLoRA レイヤーに置き換えることです。
A上記の概念の概要を以下の図に示します。
LoRA を適用するために、この記事ではニューラル ネットワーク内の既存の線形層を置き換えます。オリジナルの線形レイヤーと LoRALayer の LinearWithLoRA レイヤーを組み合わせたものです。
LoRA を使用して微調整を開始する方法
LoRA は、GPT や画像生成などのモデルに使用できます。説明を簡単にするために、この記事ではテキスト分類に小規模な BERT (DistilBERT) モデルを使用します。
##次に、print (model) を使用してモデルの構造を確認します。
出力から、モデルが線形層を含む 6 つのトランス層で構成されていることがわかります。 さらに、モデルには 2 つの線形出力層があります:
次の割り当て関数を定義することで、これらの線形層に対して LoRA を選択的に有効にすることができます。およびループ:
##
上でわかるように、Linear レイヤーは LinearWithLoRA レイヤーに正常に置き換えられました。
上記のデフォルトのハイパーパラメータを使用してモデルをトレーニングすると、IMDb 映画レビュー分類データセットで次のパフォーマンスが得られます:
- トレーニング精度: 92.15%
- 検証精度: 89.98%
- ##テスト精度: 89.44%
次のセクションでは、このホワイト ペーパーでは、これらの LoRA 微調整結果と従来の微調整結果を比較します。
従来の微調整方法との比較
前のセクションでは、LoRA はデフォルト設定で 89.44% のテスト精度を達成しました。これは従来の微調整方法と比較しますか?
比較のために、この記事では DistilBERT モデルのトレーニングを例として別の実験を実施しましたが、トレーニング中に更新されたのは最後の 2 層のみでした。研究者らは、すべてのモデルの重みをフリーズし、次に 2 つの線形出力層をフリーズ解除することでこれを達成しました。
最後の 2 つの層のみをトレーニングすることで得られる分類パフォーマンス
- トレーニング精度: 86.68%
- 検証精度: 87.26%
- テスト精度: 86.22%
結果は、LoRA が最後の 2 つのレイヤーを微調整する従来の方法よりもパフォーマンスが優れていることを示していますが、使用するパラメーターは 4 分の 1 です。すべてのレイヤーを微調整するには、LoRA セットアップの 450 倍のパラメーターを更新する必要がありましたが、テスト精度は 2% しか向上しませんでした。
LoRA 構成の最適化
上記の結果はすべてデフォルト設定で LoRA によって実行され、ハイパーパラメーターは次のとおりです。
- 検証精度: 92.96%
- テスト精度: 92.39%
元のリンク: https://lightning.ai/lightning-ai/studios/code-lora-from-scratch?cnotallow=f5fc72b1f6eeeaf74b648b2aa8aaf8b6
##
以上がLoRA コードを最初から作成する方法、チュートリアルはこちらの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

導入 迅速なエンジニアリングでは、「思考のグラフ」とは、グラフ理論を使用してAIの推論プロセスを構造化および導く新しいアプローチを指します。しばしば線形sを含む従来の方法とは異なります

導入 おめでとう!あなたは成功したビジネスを運営しています。ウェブページ、ソーシャルメディアキャンペーン、ウェビナー、会議、無料リソース、その他のソースを通じて、毎日5000の電子メールIDを収集します。次の明白なステップはです

導入 今日のペースの速いソフトウェア開発環境では、最適なアプリケーションパフォーマンスが重要です。応答時間、エラーレート、リソース利用などのリアルタイムメトリックを監視することで、メインに役立ちます

「ユーザーは何人いますか?」彼は突き出した。 「私たちが最後に言ったのは毎週5億人のアクティブであり、非常に急速に成長していると思います」とアルトマンは答えました。 「わずか数週間で2倍になったと言った」とアンダーソンは続けた。 「私はそのprivと言いました

導入 Mistralは、最初のマルチモーダルモデル、つまりPixtral-12B-2409をリリースしました。このモデルは、Mistralの120億個のパラメーターであるNemo 12bに基づいて構築されています。このモデルを際立たせるものは何ですか?これで、画像とTexの両方を採用できます

クエリに応答するだけでなく、情報を自律的に収集し、タスクを実行し、テキスト、画像、コードなどの複数のタイプのデータを処理するAIを搭載したアシスタントがいることを想像してください。未来的に聞こえますか?これでa

導入 金融業界は、効率的な取引と信用の可用性を促進することにより経済成長を促進するため、あらゆる国の発展の基礎となっています。取引の容易さとクレジット

導入 データは、ソーシャルメディア、金融取引、eコマースプラットフォームなどのソースから前例のないレートで生成されています。この連続的な情報ストリームを処理することは課題ですが、


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

SublimeText3 中国語版
中国語版、とても使いやすい

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません
