TRL documentation

Betikler Yardımcı Programlar

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v1.18.0).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Betikler Yardımcı Programlar

ScriptArguments

sınıf trl.ScriptArguments

< >

( dataset_name: str | None = Nonedataset_config: str | None = Nonedataset_train_split: str = 'train'dataset_test_split: str = 'test'dataset_streaming: bool = Falseignore_bias_buffers: bool = False )

Parametreler

  • dataset_name (str,, isteğe bağlı) — Yüklenecek veri setinin yolu veya adı. datasets sağlanırsa bu parametre yok sayılır.
  • dataset_config (str, isteğe bağlı) — Veri seti yapılandırma adı. load_dataset işlevinin name argümanına karşılık gelir. datasets sağlanırsa, bu yok sayılır.
  • dataset_train_split (str, isteğe bağlı, varsayılan "train") — Eğitim için kullanılacak veri seti bölümü. datasets sağlanırsa bu parametre yok sayılır.
  • dataset_test_split (str, isteğe bağlı, varsayılan "test") — Değerlendirme için kullanılacak veri seti bölmesi. datasets sağlanırsa bu parametre yok sayılır.
  • dataset_streaming (bool, isteğe bağlı, varsayılan False) — Veri setinin akış olarak yüklenip yüklenmeyeceğini belirtir. True ise, veri seti akış modunda yüklenir. datasets sağlanırsa bu parametre yok sayılır.
  • ignore_bias_buffers (bool, isteğe bağlı, varsayılan False) — Dağıtık eğitim için hata ayıklama argümanı. LM bias/mask tamponlarındaki DDP sorunlarına yönelik düzeltme - geçersiz skaler türü, yerinde işlem. Bkz. https://github.com/huggingface/transformers/issues/22482#issuecomment-1595790992.

Tüm betiklerde ortak olan argümanlar.

TrlParser

sınıf trl.TrlParser

< >

( dataclass_types: typing.Union[trl.scripts._hf_argparser.DataClassType, collections.abc.Iterable[trl.scripts._hf_argparser.DataClassType], NoneType] = None**kwargs )

Parametreler

  • dataclass_types (DataClassType | Iterable[DataClassType], isteğe bağlı) — Argüman ayrıştırma için kullanılacak dataclass türleri.
  • **kwargs — transformers.HfArgumentParser yapıcısına iletilen ek anahtar kelime argümanları.

Veri sınıfı destekli yapılandırmalarla komut satırı argümanlarını ayrıştırmak için tasarlanmış, ayrıca yapılandırma dosyası yükleme ve ortam değişkeni yönetimini de destekleyen transformers.HfArgumentParser alt sınıfı.

Örnekler:

# config.yaml
env:
    VAR1: value1
arg1: 23
# main.py
import os
from dataclasses import dataclass
from trl import TrlParser


@dataclass
class MyArguments:
    arg1: int
    arg2: str = "alpha"


parser = TrlParser(dataclass_types=[MyArguments])
training_args = parser.parse_args_and_config()

print(training_args, os.environ.get("VAR1"))
$ python main.py --config config.yaml
(MyArguments(arg1=23, arg2='alpha'),) value1

$ python main.py --arg1 5 --arg2 beta
(MyArguments(arg1=5, arg2='beta'),) None

parse_args_and_config

< >

( args: collections.abc.Iterable[str] | None = Nonereturn_remaining_strings: bool = Falsefail_with_unknown_args: bool = Trueseparate_remaining_strings: bool = False )

Komut satırı argümanlarını ve yapılandırma dosyasını, belirtilen dataclass türlerinin örneklerine ayrıştırır.

Bu yöntem, transformers.HfArgumentParser.parse_args_into_dataclasses fonksiyonunu sarmalar ve --config bayrağıyla belirtilen yapılandırma dosyasını da ayrıştırır. Yapılandırma dosyası (YAML biçiminde), dataclass'lerdeki varsayılan değerlerin yerine geçen argüman değerlerini sağlar. Komut satırı argümanları, yapılandırma dosyasıyla ayarlanan değerlerin üzerine yazılabilir. Yöntem ayrıca yapılandırma dosyasındaki env alanında belirtilen ortam değişkenlerini de ayarlar.

parse_args_into_dataclasses

< >

( args = Nonereturn_remaining_strings = Falselook_for_args_file = Trueargs_filename = Noneargs_file_flag = None ) → Tuple consisting of

Parametreler

  • args — Ayrıştırılacak dizeler listesi. Varsayılan değer sys.argv'den alınır. (argparse.ArgumentParser ile aynı)
  • return_remaining_strings — True ise, kalan argüman dizgilerinin listesini de döndürür.
  • look_for_args_file — True ise, bu işlem için giriş noktası betiğinin taban adıyla aynı olan bir “.args” dosyasını arar ve olası içeriğini komut satırı argümanlarına ekler.
  • args_filename — None değilse, önceki argümanda belirtilen “.args” dosyası yerine bu dosya kullanılır.
  • args_file_flag — None değilse, bu bayrakla komut satırı argümanlarında belirtilen dosyayı arar. Bayrak birden fazla kez belirtilebilir ve öncelik sıraya göre belirlenir (sonuncu geçerli olur).

Dönüş değeri

Şu öğelerden oluşan bir Tuple

  • the dataclass instances başlatıcıya geçirildikleri sırayla, initializer.abspath
  • uygulanabilirse, parser'a başlatma sonrasında eklenen ek (dataclass destekli olmayan) argümanlar için ek bir ad alanı
  • Kalan argüman dizelerinin olası listesi. (argparse.ArgumentParser.parse_known_args ile aynı)

Komut satırı argümanlarını, belirtilen dataclass türlerinin örneklerine ayrıştırır.

Bu, argparse'in ArgumentParser.parse_known_args özelliğine dayanır. Belgeye buradan bakın: docs.python.org/3/library/argparse.html#argparse.ArgumentParser.parse_args

set_defaults_with_config

< >

( **kwargs )

Alt ayrıştırıcılar dahil olmak üzere, anahtar kelime argümanları aracılığıyla sağlanan değerlerle ayrıştırıcının varsayılan değerlerini geçersiz kılar.

Varsayılan değeri güncellenen herhangi bir argüman, daha önce zorunluysa artık zorunlu olmayan olarak da işaretlenir.

Ayrıştırıcı tarafından tüketilmeyen dizelerin bir listesini döndürür.

get_dataset

trl.get_dataset

< >

( mixture_config: DatasetMixtureConfig ) → DatasetDict

Parametreler

  • mixture_config (DatasetMixtureConfig) — Veri seti yapılandırmasını içeren betik argümanları.

Dönüş değeri

DatasetDict

Mikser yapılandırmasından birleştirilmiş veri kümesi(leri), test_split_size ayarlanmışsa isteğe bağlı eğitim/test bölünmesi ile.

Yapılandırmaya dayalı olarak veri kümelerinin bir karışımını yükleyin.

Örnek:

>>> from trl import DatasetMixtureConfig, get_dataset
>>> from trl.scripts.utils import DatasetConfig

>>> mixture_config = DatasetMixtureConfig(datasets=[DatasetConfig(path="trl-lib/tldr")])
>>> get_dataset(mixture_config)
DatasetDict({
    train: Dataset({
        features: ['prompt', 'completion'],
        num_rows: 116722
    })
})

DatasetConfig

sınıf trl.scripts.utils.DatasetConfig

< >

( path: strname: str | None = Nonedata_dir: str | None = Nonedata_files: str | list[str] | dict[str, str] | None = Nonesplit: str = 'train'columns: list[str] | None = Nonefraction: float | None = None )

Parametreler

  • path (str) — Veri setinin yolu veya adı.
  • name (str, isteğe bağlı) — Veri seti yapılandırmasının adını tanımlar.
  • data_dir (str, isteğe bağlı) — Veri seti yapılandırmasının data_dir değerini tanımlar. Genel oluşturucular (csv, text vb.) veya Hub veri setleri için belirtilmişse ve data_files None ise, davranış, bir dizindeki tüm dosyalara atıfta bulunmak için os.path.join(data_dir, **) ifadesinin data_files olarak geçirilmesine eşittir.
  • data_files (str veya Sequence veya Mapping, isteğe bağlı) — Kaynak veri dosyası/dosyalarının yolu/yolları.
  • split (str, isteğe bağlı, varsayılan "train") — Yüklenmesi gereken veri bölümü.
  • columns (list[str], isteğe bağlı) — Veri setinden seçilecek sütun adlarının listesi. None ise tüm sütunlar seçilir.
  • fraction (float, isteğe bağlı) — Bu veri setinin nihai karışım içindeki hedef payı. Paylar, tüm veri setleri arasında bir toplamına normalize edilir ve karışım boyutu, hiçbir veri setinin aşırı örneklenmemesi için sınırlandırılır: her veri setinin ilk round(fraction * N) satırı korunur; burada N, aşırı örneklemeyi önleyen en büyük karışım boyutudur. Karışımdaki tüm veri setleri için ya hiçbiri için ayarlanmalıdır. Akışkan veri setleri için desteklenmez. Ayarlanmadığında, tam veri setleri birleştirilir.

Bir veri seti için yapılandırma.

Bu sınıf, load_dataset imzasıyla eşleşir ve argümanlar doğrudan load_dataset işlevinde kullanılır. Daha fazla ayrıntı için load_dataset belgelerine başvurabilirsiniz.

DatasetMixtureConfig

sınıf trl.DatasetMixtureConfig

< >

( datasets: list[trl.scripts.utils.DatasetConfig] = <factory>streaming: bool = Falsetest_split_size: float | None = None )

Parametreler

  • datasets (list[DatasetConfig]) — Karışıma dahil edilecek veri seti yapılandırmalarının listesi.
  • streaming (bool, isteğe bağlı, varsayılan False) — Veri kümelerinin akışkan (streaming) olarak yüklenip yüklenmeyeceğini belirtir. True ise veri kümeleri akış modunda yüklenir.
  • test_split_size (float, isteğe bağlı) — Test bölümünün boyutu. Daha fazla ayrıntı için train_test_split fonksiyonundaki test_size parametresine bakın. None ise veri seti eğitim ve test kümelerine ayrılmaz.

Veri kümelerinin karışımı için yapılandırma sınıfı.

HfArgumentParser kullanarak bu sınıfı, komut satırında belirtilebilen argparse argümanlarına dönüştürebiliriz.

Kullanım:

CLI'yi kullanırken, YAML yapılandırma dosyanıza aşağıdaki bölümü ekleyebilirsiniz:

datasets:
- path: ...
    name: ...
    data_dir: ...
    data_files: ...
    split: ...
    columns: ...
    fraction: ...
- path: ...
    name: ...
    data_dir: ...
    data_files: ...
    split: ...
    columns: ...
streaming: ...
test_split_size: ...
Update on GitHub