Buckets:

rtrm's picture
download
raw
12.9 kB
<meta charset="utf-8" /><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Philosophy&quot;,&quot;local&quot;:&quot;philosophy&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Main concepts&quot;,&quot;local&quot;:&quot;main-concepts&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}">
<link href="/docs/transformers/main/ja/_app/immutable/assets/0.e3b0c442.css" rel="modulepreload">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/entry/start.1486e459.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/chunks/scheduler.9bc65507.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/chunks/singletons.eee55cbf.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/chunks/index.3b203c72.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/chunks/paths.59da1547.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/entry/app.d9ae818f.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/chunks/index.707bf1b6.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/nodes/0.c06aa070.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/chunks/each.e59479a4.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/nodes/126.146fb3f3.js">
<link rel="modulepreload" href="/docs/transformers/main/ja/_app/immutable/chunks/EditOnGithub.922df6ba.js"><!-- HEAD_svelte-u9bgzb_START --><meta name="hf:doc:metadata" content="{&quot;title&quot;:&quot;Philosophy&quot;,&quot;local&quot;:&quot;philosophy&quot;,&quot;sections&quot;:[{&quot;title&quot;:&quot;Main concepts&quot;,&quot;local&quot;:&quot;main-concepts&quot;,&quot;sections&quot;:[],&quot;depth&quot;:2}],&quot;depth&quot;:1}"><!-- HEAD_svelte-u9bgzb_END --> <p></p> <h1 class="relative group"><a id="philosophy" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#philosophy"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Philosophy</span></h1> <p data-svelte-h="svelte-1ogl32y">🤗 Transformersは、次のような目的で構築された意見を持つライブラリです:</p> <ul data-svelte-h="svelte-1dl6tsa"><li>大規模なTransformersモデルを使用、研究、または拡張したい機械学習研究者および教育者。</li> <li>これらのモデルを微調整したり、本番環境で提供したり、またはその両方を行いたい実務家。</li> <li>与えられた機械学習タスクを解決するために、事前トレーニングされたモデルをダウンロードして使用したいエンジニア。</li></ul> <p data-svelte-h="svelte-ufid5u">このライブラリは、2つの強力な目標を持って設計されました:</p> <ol data-svelte-h="svelte-1c48ghg"><li><p>できるだけ簡単かつ高速に使用できるようにすること:</p> <ul><li>ユーザー向けの抽象化を限りなく少なくし、実際、ほとんどの場合、抽象化はありません。
各モデルを使用するために必要な3つの標準クラスだけが存在します:<a href="main_classes/configuration">構成</a>
<a href="main_classes/model">モデル</a>、および前処理クラス(NLP用の<a href="main_classes/tokenizer">トークナイザ</a>、ビジョン用の<a href="main_classes/image_processor">イメージプロセッサ</a>
オーディオ用の<a href="main_classes/feature_extractor">特徴抽出器</a>、およびマルチモーダル入力用の<a href="main_classes/processors">プロセッサ</a>)。</li> <li>これらのクラスは、共通の<code>from_pretrained()</code>メソッドを使用して、事前トレーニング済みのインスタンスから簡単かつ統一された方法で初期化できます。このメソッドは、事前トレーニング済みのチェックポイントから関連するクラスのインスタンスと関連データ(構成のハイパーパラメータ、トークナイザの語彙、モデルの重み)をダウンロード(必要な場合はキャッシュ)して読み込みます。これらの基本クラスの上に、ライブラリは2つのAPIを提供しています:[パイプライン]は、特定のタスクでモデルをすばやく推論に使用するためのものであり、<a href="/docs/transformers/main/ja/main_classes/trainer#transformers.Trainer">Trainer</a>はPyTorchモデルを迅速にトレーニングまたは微調整するためのものです(すべてのTensorFlowモデルは<code>Keras.fit</code>と互換性があります)。</li> <li>その結果、このライブラリはニューラルネットワークのモジュラーツールボックスではありません。ライブラリを拡張または構築したい場合は、通常のPython、PyTorch、TensorFlow、Kerasモジュールを使用し、ライブラリの基本クラスから継承してモデルの読み込みと保存などの機能を再利用するだけです。モデルのコーディング哲学について詳しく知りたい場合は、<a href="https://huggingface.co/blog/transformers-design-philosophy" rel="nofollow">Repeat Yourself</a>ブログ投稿をチェックしてみてください。</li></ul></li> <li><p>オリジナルのモデルにできるだけ近い性能を持つ最新のモデルを提供すること:</p> <ul><li>各アーキテクチャに対して、公式な著者から提供された結果を再現する少なくとも1つの例を提供します。</li> <li>コードは通常、可能な限り元のコードベースに近いものであり、これはPyTorchコードがTensorFlowコードに変換されることから生じ、逆もまた然りです。</li></ul></li></ol> <p data-svelte-h="svelte-lp0ec4">その他のいくつかの目標:</p> <ul data-svelte-h="svelte-c53gem"><li><p>モデルの内部をできるだけ一貫して公開すること:</p> <ul><li>フルな隠れ状態と注意の重みにアクセスできる単一のAPIを提供します。</li> <li>前処理クラスと基本モデルのAPIは標準化され、簡単にモデル間を切り替えることができます。</li></ul></li> <li><p>これらのモデルの微調整と調査のための有望なツールを主観的に選定すること:</p> <ul><li>語彙と埋め込みに新しいトークンを追加するための簡単で一貫した方法。</li> <li>Transformerヘッドをマスクおよびプルーンするための簡単な方法。</li></ul></li> <li><p>PyTorch、TensorFlow 2.0、およびFlaxの間を簡単に切り替えて、1つのフレームワークでトレーニングし、別のフレームワークで推論を行うことを可能にすること。</p></li></ul> <h2 class="relative group"><a id="main-concepts" class="header-link block pr-1.5 text-lg no-hover:hidden with-hover:absolute with-hover:p-1.5 with-hover:opacity-0 with-hover:group-hover:opacity-100 with-hover:right-full" href="#main-concepts"><span><svg class="" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" width="1em" height="1em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 256"><path d="M167.594 88.393a8.001 8.001 0 0 1 0 11.314l-67.882 67.882a8 8 0 1 1-11.314-11.315l67.882-67.881a8.003 8.003 0 0 1 11.314 0zm-28.287 84.86l-28.284 28.284a40 40 0 0 1-56.567-56.567l28.284-28.284a8 8 0 0 0-11.315-11.315l-28.284 28.284a56 56 0 0 0 79.196 79.197l28.285-28.285a8 8 0 1 0-11.315-11.314zM212.852 43.14a56.002 56.002 0 0 0-79.196 0l-28.284 28.284a8 8 0 1 0 11.314 11.314l28.284-28.284a40 40 0 0 1 56.568 56.567l-28.285 28.285a8 8 0 0 0 11.315 11.314l28.284-28.284a56.065 56.065 0 0 0 0-79.196z" fill="currentColor"></path></svg></span></a> <span>Main concepts</span></h2> <p data-svelte-h="svelte-r7czx8">このライブラリは、各モデルについて次の3つのタイプのクラスを中心に構築されています:</p> <ul data-svelte-h="svelte-zlq7x5"><li><strong>モデルクラス</strong>は、ライブラリで提供される事前トレーニング済みの重みと互換性のあるPyTorchモデル(<a href="https://pytorch.org/docs/stable/nn.html#torch.nn.Module" rel="nofollow">torch.nn.Module</a>)、Kerasモデル(<a href="https://www.tensorflow.org/api_docs/python/tf/keras/Model" rel="nofollow">tf.keras.Model</a>)またはJAX/Flaxモデル(<a href="https://flax.readthedocs.io/en/latest/api_reference/flax.linen/module.html" rel="nofollow">flax.linen.Module</a>)を使用できます。</li> <li><strong>構成クラス</strong>は、モデルを構築するために必要なハイパーパラメータを格納します(層の数や隠れ層のサイズなど)。これらを自分でインスタンス化する必要はありません。特に、変更を加えずに事前トレーニング済みモデルを使用している場合、モデルを作成すると自動的に構成がインスタンス化されるようになります(これはモデルの一部です)。</li> <li><strong>前処理クラス</strong>は、生データをモデルが受け入れる形式に変換します。<a href="main_classes/tokenizer">トークナイザ</a>は各モデルの語彙を保存し、文字列をトークン埋め込みのインデックスのリストにエンコードおよびデコードするためのメソッドを提供します。<a href="main_classes/image_processor">イメージプロセッサ</a>はビジョン入力を前処理し、<a href="main_classes/feature_extractor">特徴抽出器</a>はオーディオ入力を前処理し、<a href="main_classes/processors">プロセッサ</a>はマルチモーダル入力を処理します。</li></ul> <p data-svelte-h="svelte-1puecbn">これらのすべてのクラスは、事前トレーニング済みのインスタンスからインスタンス化し、ローカルに保存し、Hubで共有することができる3つのメソッドを使用しています:</p> <ul data-svelte-h="svelte-z832o1"><li><code>from_pretrained()</code>は、ライブラリ自体によって提供される(<a href="https://huggingface.co/models" rel="nofollow">モデルハブ</a>でサポートされているモデルがあります)か、ユーザーによってローカルに保存された(またはサーバーに保存された)事前トレーニング済みバージョンからモデル、構成、前処理クラスをインスタンス化するためのメソッドです。</li> <li><code>save_pretrained()</code>は、モデル、構成、前処理クラスをローカルに保存し、<code>from_pretrained()</code>を使用して再読み込みできるようにします。</li> <li><code>push_to_hub()</code>は、モデル、構成、前処理クラスをHubに共有し、誰でも簡単にアクセスできるようにします。</li></ul> <a class="!text-gray-400 !no-underline text-sm flex items-center not-prose mt-4" href="https://github.com/huggingface/transformers/blob/main/docs/source/ja/philosophy.md" target="_blank"><span data-svelte-h="svelte-1kd6by1">&lt;</span> <span data-svelte-h="svelte-x0xyl0">&gt;</span> <span data-svelte-h="svelte-1dajgef"><span class="underline ml-1.5">Update</span> on GitHub</span></a> <p></p>
<script>
{
__sveltekit_jement = {
assets: "/docs/transformers/main/ja",
base: "/docs/transformers/main/ja",
env: {}
};
const element = document.currentScript.parentElement;
const data = [null,null];
Promise.all([
import("/docs/transformers/main/ja/_app/immutable/entry/start.1486e459.js"),
import("/docs/transformers/main/ja/_app/immutable/entry/app.d9ae818f.js")
]).then(([kit, app]) => {
kit.start(app, element, {
node_ids: [0, 126],
data,
form: null,
error: null
});
});
}
</script>

Xet Storage Details

Size:
12.9 kB
·
Xet hash:
24627365556367c05f753ece54efab18378d03d14eb28543477d0a06021117b3

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