TRL documentation
Betikler Yardımcı Programlar
Betikler Yardımcı Programlar
ScriptArguments
sınıf trl.ScriptArguments
< source >( 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ı.datasetssağlanırsa bu parametre yok sayılır. - dataset_config (
str, isteğe bağlı) — Veri seti yapılandırma adı. load_dataset işlevininnameargümanına karşılık gelir.datasetssağ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ü.datasetssağ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.datasetssağlanırsa bu parametre yok sayılır. - dataset_streaming (
bool, isteğe bağlı, varsayılanFalse) — Veri setinin akış olarak yüklenip yüklenmeyeceğini belirtir. True ise, veri seti akış modunda yüklenir.datasetssağlanırsa bu parametre yok sayılır. - ignore_bias_buffers (
bool, isteğe bağlı, varsayılanFalse) — 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
< source >( 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ı.
# 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'),) Noneparse_args_and_config
< source >( 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
< source >( 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
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
< source >( mixture_config: DatasetMixtureConfig ) → DatasetDict
Parametreler
- mixture_config (DatasetMixtureConfig) — Veri seti yapılandırmasını içeren betik argümanları.
Dönüş değeri
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
< source >( 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ındata_dirdeğerini tanımlar. Genel oluşturucular (csv, text vb.) veya Hub veri setleri için belirtilmişse vedata_filesNoneise, davranış, bir dizindeki tüm dosyalara atıfta bulunmak içinos.path.join(data_dir, **)ifadesinindata_filesolarak geçirilmesine eşittir. - data_files (
strveyaSequenceveyaMapping, 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.Noneise 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 ilkround(fraction * N)satırı korunur; buradaN, 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
< source >( 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ılanFalse) — Veri kümelerinin akışkan (streaming) olarak yüklenip yüklenmeyeceğini belirtir.Trueise 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çintrain_test_splitfonksiyonundakitest_sizeparametresine bakın.Noneise 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: