Transformers documentation
Bark
이 모델은 2023-07-17에 Hugging Face Transformers에 기여되었습니다.
Bark
개요
Bark는 Suno AI가 suno-ai/bark에서 제안한 transformer 기반 텍스트-음성 변환 모델입니다.
Bark는 4개의 주요 모델로 구성됩니다:
- BarkSemanticModel(‘text’ 모델이라고도 함): 토큰화된 텍스트를 입력으로 받아 텍스트의 의미를 포착하는 의미론적 텍스트 토큰을 예측하는 인과적 자기회귀 transformer 모델입니다.
- BarkCoarseModel(‘coarse acoustics’ 모델이라고도 함): BarkSemanticModel 모델의 결과를 입력으로 받는 인과적 자기회귀 transformer입니다. EnCodec에 필요한 첫 번째와 두 번째 오디오 코드북을 예측하는 것을 목표로 합니다.
- BarkFineModel(‘fine acoustics’ 모델)은 이번에는 비인과적(non-causal) 오토인코더 트랜스포머로, 이전 코드북 임베딩의 합을 기반으로 마지막 코드북을 반복적으로 예측합니다.
- EncodecModel을 통해 모든 codebook 채널을 예측한 후, Bark는 이를 사용하여 출력 오디오 배열을 디코딩합니다.
첫 세 모듈 각각이 조건부 화자 임베딩을 지원할 수 있으며, 이를 통해 미리 정의된 특정 목소리에 따라 출력 소리를 조건화할 수 있습니다.
이 모델은 Yoach Lacombe (ylacombe)와 Sanchit Gandhi (sanchit-gandhi)가 기여했습니다. 원본 코드는 여기에서 찾을 수 있습니다.
Bark 최적화
Bark는 몇 줄의 추가 코드만으로 최적화할 수 있으며, 이를 통해 메모리 사용량을 크게 줄이고 추론 속도를 높일 수 있습니다.
반정밀도 사용
모델을 반정밀로 로드하기만 하면 추론 속도를 높이고 메모리 사용량을 50%까지 줄일 수 있습니다.
from transformers import BarkModel
model = BarkModel.from_pretrained("suno/bark-small", device_map="auto")CPU 오프로드 사용
위에서 언급했듯이 Bark는 4개의 서브 모델로 구성되어 있으며, 오디오 생성 과정에서 순차적으로 호출됩니다. 즉, 한 서브 모델이 사용 중일 때 나머지 서브 모델은 대기 상태에 있습니다.
CUDA GPU 또는 Intel XPU를 사용하는 경우, 유휴 상태의 서브모델을 디바이스에서 CPU로 오프로딩하면 메모리 사용량을 80%까지 줄이는 간단한 해결책이 있습니다. 이 작업은 CPU offloading이라고 합니다. 다음처럼 한 줄의 코드로 사용할 수 있습니다:
model.enable_cpu_offload()
이 기능을 사용하기 전에 🤗 Accelerate를 설치해야 합니다. 설치 방법은 다음과 같습니다.
Flash Attention 2 사용
Flash Attention 2는 이전 최적화 버전보다 훨씬 빠르고 최적화된 버전입니다.
설치
먼저 하드웨어가 Flash Attention 2와 호환되는지 확인하세요. 호환 하드웨어의 최신 목록은 공식 문서에서 확인할 수 있습니다. 다음으로, Flash Attention 2의 최신 버전을 설치하세요:
pip install -U flash-attn --no-build-isolation
사용
Flash Attention 2를 사용하여 모델을 로드하려면 from_pretrained()에 attn_implementation="flash_attention_2" 플래그를 전달할 수 있습니다. 오디오 품질에 거의 손실이 없으면서도 메모리 사용량이 크게 줄고 추론 속도가 빨라지므로, 모델을 반정밀도(예: torch.float16)로 로드합니다:
model = BarkModel.from_pretrained("suno/bark-small", attn_implementation="flash_attention_2", device_map="auto")성능 비교
다음 다이어그램은 네이티브 어텐션 구현(최적화 없음)과 Flash Attention 2의 지연 시간을 보여줍니다. 모든 경우에서 PyTorch 2.1을 사용하여 40GB A100 GPU에서 400개의 의미론적 토큰을 생성합니다:

이를 이해하기 쉽게 설명하자면, NVIDIA A100에서 배치 크기가 16이고 400개의 의미론적 토큰을 생성할 때, 네이티브 모델 구현으로 문장을 하나씩 생성하는 것보다 처리량이 17배 높으면서도 2초 더 빠릅니다. 즉, 모든 샘플이 17배 더 빠르게 생성됩니다.
최적화 기법 결합
최적화 기법을 조합하여 CPU offload, half-precision, Flash Attention 2를 동시에 사용할 수 있습니다.
from transformers import BarkModel
# load in fp16 and use Flash Attention 2
model = BarkModel.from_pretrained("suno/bark-small", attn_implementation="flash_attention_2", device_map="auto")
# enable CPU offload
model.enable_cpu_offload()추론 최적화 기법에 대해 자세히 알아보려면 여기를 참조하세요.
사용 팁
Suno는 여기에서 여러 언어의 음성 프리셋 라이브러리를 제공합니다. 이 프리셋들은 또한 허브의 여기 또는 여기에 업로드되어 있습니다.
from transformers import AutoProcessor, BarkModel
processor = AutoProcessor.from_pretrained("suno/bark")
model = BarkModel.from_pretrained("suno/bark", device_map="auto")
voice_preset = "v2/en_speaker_6"
inputs = processor("Hello, my dog is cute", voice_preset=voice_preset)
audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()Bark는 음악, 배경 소음, 간단한 효과음 등 다양한 오디오를 포함하여 매우 사실적인 다국어 음성도 생성할 수 있습니다.
# Multilingual speech - simplified Chinese
inputs = processor("惊人的!我会说中文")
# Multilingual speech - French - let's use a voice_preset as well
inputs = processor("Incroyable! Je peux générer du son.", voice_preset="fr_speaker_5")
# Bark can also generate music. You can help it out by adding music notes around your lyrics.
inputs = processor("♪ Hello, my dog is cute ♪")
audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()모델은 웃음, 한숨, 울음과 같은 비언어적 소통도 생성할 수 있습니다.
# Adding non-speech cues to the input text
inputs = processor("Hello uh [clears throat], my dog is cute [laughter]")
audio_array = model.generate(**inputs)
audio_array = audio_array.cpu().numpy().squeeze()모델 설정에서 샘플 레이트를 가져오고 scipy 유틸리티를 사용하면 오디오를 저장할 수 있습니다.
from scipy.io.wavfile import write as write_wav
# save audio to disk, but first take the sample rate from the model config
sample_rate = model.generation_config.sample_rate
write_wav("bark_generation.wav", sample_rate, audio_array)BarkConfig
클래스 transformers.BarkConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Nonesemantic_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonecoarse_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonefine_acoustics_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Nonecodec_config: dict | transformers.configuration_utils.PreTrainedConfig | None = Noneinitializer_range: float = 0.02 )
매개변수
- semantic_config (BarkSemanticConfig, 선택) — 기저 의미론 서브모델의 구성입니다.
- coarse_acoustics_config (BarkCoarseConfig, 선택) — 기저 coarse acoustics 서브모델의 설정입니다.
- fine_acoustics_config (BarkFineConfig, 선택) — 기본 fine acoustics 서브모델의 설정입니다.
- codec_config (AutoConfig, 선택 사항) — 기저 코덱 서브모델의 설정입니다.
- initializer_range (
float, 선택 사항, 기본값0.02) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다.
이것은 BarkModel의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인자에 따라 Bark 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 suno/bark와 유사한 설정이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
예:
>>> from transformers import (
... BarkSemanticConfig,
... BarkCoarseConfig,
... BarkFineConfig,
... BarkModel,
... BarkConfig,
... AutoConfig,
... )
>>> # Initializing Bark sub-modules configurations.
>>> semantic_config = BarkSemanticConfig()
>>> coarse_acoustics_config = BarkCoarseConfig()
>>> fine_acoustics_config = BarkFineConfig()
>>> codec_config = AutoConfig.from_pretrained("facebook/encodec_24khz")
>>> # Initializing a Bark module style configuration
>>> configuration = BarkConfig(
... semantic_config, coarse_acoustics_config, fine_acoustics_config, codec_config
... )
>>> # Initializing a model (with random weights)
>>> model = BarkModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configBarkProcessor
클래스 transformers.BarkProcessor
< source >( tokenizerspeaker_embeddings = None )
매개변수
- tokenizer (
BertTokenizer) — 토크나이저는 필수 입력값입니다. - speaker_embeddings (
dict[dict[str]], 선택) — 선택 가능한 중첩된 스피커 임베딩 딕셔너리입니다. 첫 번째 레벨에는 음성 프리셋 이름(예:"en_speaker_4")이 포함됩니다. 두 번째 레벨에는"semantic_prompt","coarse_prompt"및"fine_prompt"임베딩이 포함됩니다. 값은 해당np.ndarray의 경로에 대응합니다.voice_preset_names목록은 여기를 참조하세요.
BarkProcessor를 생성하여 토크나이저를 단일 프로세서로 래핑합니다.
BarkProcessor은 BertTokenizer의 모든 기능을 제공합니다. 자세한 내용은 ~BertTokenizer를 참고하세요.
__call__
< source >( text = Nonevoice_preset = Nonereturn_tensors = 'pt'max_length = 256add_special_tokens = Falsereturn_attention_mask = Truereturn_token_type_ids = False**kwargs ) → BatchEncoding
매개변수
- text (`
) -- The sequence or batch of sequences to be encoded. Each sequence can be a string or a list of strings (pretokenized string). If you pass a pretokenized input, setis_split_into_words=True` to avoid ambiguity with batched inputs. - voice_preset (
str,dict[np.ndarray]) — 음성 프리셋, 즉 스피커 임베딩입니다."en_speaker_1"과 같이 유효한 voice_preset 이름이거나,Bark의 각 서브모델에 대한np.ndarray임베딩의 사전일 수 있습니다. 또는"semantic_prompt","coarse_prompt","fine_prompt"키를 포함하는 로컬.npz단일 음성 프리셋의 유효한 파일 이름일 수도 있습니다. - return_tensors (`
, defaults topt`) — 설정된 경우, 특정 프레임워크의 텐서를 반환합니다. 허용되는 값은 다음과 같습니다:'pt': PyTorchtorch.Tensor객체를 반환합니다.'np': NumPynp.ndarray객체를 반환합니다.
- max_length (
int, 기본값은256) — truncation/padding 파라미터 중 하나가 사용할 최대 길이를 제어합니다.설정하지 않거나
None으로 설정하면, truncation/padding 파라미터 중 하나가 최대 길이를 요구할 경우 미리 정의된 모델 최대 길이를 사용합니다. 모델에 특정 최대 입력 길이가 없는 경우(XLNet 등) 최대 길이로 truncation/padding하는 기능이 비활성화됩니다. - add_special_tokens (
bool, 기본값False) — 시퀀스를 인코딩할 때 특수 토큰을 추가할지 여부입니다. 이는 입력 id에 자동으로 추가되는 토큰을 정의하는PretrainedTokenizerBase.build_inputs_with_special_tokens함수를 사용합니다.bos또는eos토큰을 자동으로 추가하고 싶을 때 유용합니다. - return_attention_mask (
bool, 기본값은True) — attention mask를 반환할지 여부입니다. 기본값을 그대로 두면,return_outputs속성에 의해 정의된 해당 tokenizer의 기본값에 따라 attention mask를 반환합니다. - return_token_type_ids (
bool, 기본값은False) — 토큰 타입 ID를 반환할지 여부입니다. 기본값을 그대로 두면, 해당 토크나이저의 기본값에 따라 토큰 타입 ID를 반환하며, 이는return_outputs속성으로 정의됩니다.
반환값
tokenizer의 출력을 포함하는 BatchEncoding 객체입니다.
음성 프리셋이 제공된 경우, 반환되는 객체에는 올바른 텐서 타입을 가진 음성 프리셋, 즉 BatchFeature를 포함하는 "history_prompt" 키가 포함됩니다.
from_pretrained
< source >( pretrained_processor_name_or_pathspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'**kwargs )
매개변수
- pretrained_model_name_or_path (
str또는os.PathLike) — 다음 중 하나일 수 있습니다:- 문자열이며, huggingface.co의 모델 저장소에 호스팅된 사전 학습된 BarkProcessor의 model id입니다.
- a path to a directory containing a processor saved using the save_pretrained()
method, e.g.,
./my_model_directory/.
- speaker_embeddings_dict_path (
str, 선택 사항, 기본값"speaker_embeddings_path.json") —pretrained_model_name_or_path에 있는 speaker_embeddings 사전이 포함된.json파일의 이름입니다.None인 경우 speaker_embeddings가 로드되지 않습니다. - **kwargs —
~tokenization_utils_base.PreTrainedTokenizer.from_pretrained에 함께 전달되는 추가 키워드 인자
pretrained 모델과 연관된 Bark 프로세서의 인스턴스를 생성합니다.
save_pretrained
< source >( save_directoryspeaker_embeddings_dict_path = 'speaker_embeddings_path.json'speaker_embeddings_directory = 'speaker_embeddings'push_to_hub: bool = False**kwargs )
매개변수
- save_directory (
str또는os.PathLike) — 토크나이저 파일과 스피커 임베딩이 저장될 디렉터리입니다(존재하지 않는 경우 생성됩니다). - speaker_embeddings_dict_path (
str, 선택, 기본값"speaker_embeddings_path.json") — 존재하는 경우 speaker_embeddings 중첩 경로 사전이 포함된.json파일의 이름이며,pretrained_model_name_or_path/speaker_embeddings_directory에 위치합니다. - speaker_embeddings_directory (
str, 선택 사항, 기본값"speaker_embeddings/") — speaker_embeddings 배열이 저장될 폴더의 이름입니다. - push_to_hub (
bool, 선택 사항, 기본값False) — 모델을 저장한 후 Hugging Face 모델 허브에 푸시할지 여부입니다.repo_id를 사용하여 푸시할 저장소를 지정할 수 있으며, 지정하지 않으면 네임스페이스 내save_directory의 이름이 기본값으로 사용됩니다. - kwargs — push_to_hub() 메서드에 함께 전달되는 추가 키워드 인자.
이 프로세서(tokenizer…)의 속성을 지정된 디렉터리에 저장하여 from_pretrained() 메서드를 사용해 다시 로드할 수 있도록 합니다.
BarkModel
class transformers.BarkModel
< source >( config: BarkConfig )
매개변수
- config (BarkConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 관련된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
4개의 서브 모델로 구성된 텍스트-음성 변환 모델인 전체 Bark 모델:
- BarkSemanticModel(‘text’ 모델이라고도 함): 토큰화된 텍스트를 입력으로 받아 텍스트의 의미를 포착하는 의미론적 텍스트 토큰을 예측하는 인과적 자기회귀 transformer 모델입니다.
- BarkCoarseModel(‘coarse acoustics’ 모델이라고도 함) 역시 인과적 자기회귀 transformer로, 이전 모델의 결과를 입력으로 받아
encodec에 필요한 첫 번째와 두 번째 오디오 코드북을 회귀하는 것을 목표로 합니다. - BarkFineModel(‘fine acoustics’ 모델)은 이번에는 비인과적 오토인코더 트랜스포머로, 이전 코드북 임베딩의 합을 기반으로 마지막 코드북을 반복적으로 예측합니다.
- EncodecModel을 통해 모든 codebook 채널을 예측한 후, Bark는 이를 사용하여 출력 오디오 배열을 디코딩합니다.
첫 세 모듈 각각은 미리 정의된 특정 음성으로 출력 소리를 조건부화하기 위해 조건부 화자 임베딩을 지원할 수 있습니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
generate
< source >( input_ids: typing.Optional[torch.Tensor] = Nonehistory_prompt: dict[str, torch.Tensor] | None = Nonereturn_output_lengths: bool | None = None**kwargs ) → By default
매개변수
- input_ids (
Optional[torch.Tensor], shape (batch_size, seq_len), 선택 사항) — 입력 id입니다. 256개 토큰까지 잘립니다. 출력 오디오의 길이는 배치 내 가장 긴 생성 결과와 동일합니다. - history_prompt (
Optional[dict[str,torch.Tensor]], 선택) — 선택 사항인Bark스피커 프롬프트입니다. 참고로 현재 이 모델은 배치당 스피커 프롬프트를 하나만 받습니다. - kwargs (선택 사항) — 나머지 키워드 인자 사전. 키워드 인자는 두 가지 유형이 있습니다:
- 접두사가 없으면 각 서브 모델의
generate메서드에**kwargs로 입력됩니다. - semantic_, coarse_, fine_ 접두사가 붙은 경우, 각각 semantic, coarse, fine의
generate메서드에 입력으로 사용됩니다. 접두사가 없는 키워드보다 우선순위가 높습니다.
즉, 예를 들어 하나의 서브모델을 제외한 모든 서브모델에 대해 생성 전략을 지정할 수 있습니다.
- 접두사가 없으면 각 서브 모델의
- return_output_lengths (
bool, 선택 사항) — 파형 길이를 반환할지 여부입니다. 배치 처리 시 유용합니다.
반환값
기본적으로
- audio_waveform (shape (batch_size, seq_len)인
torch.Tensor): 생성된 오디오 웨이브폼.return_output_lengths=True인 경우: 다음으로 구성된 튜플을 반환합니다: - audio_waveform (shape (batch_size, seq_len)의
torch.Tensor): 생성된 오디오 웨이브폼. - output_lengths (shape (batch_size)의
torch.Tensor): 배치 내 각 웨이브폼의 길이
입력 프롬프트와 추가 선택 사항인 Bark 스피커 프롬프트를 사용하여 오디오를 생성합니다.
예:
>>> from transformers import AutoProcessor, BarkModel
>>> processor = AutoProcessor.from_pretrained("suno/bark-small")
>>> model = BarkModel.from_pretrained("suno/bark-small")
>>> # To add a voice preset, you can pass `voice_preset` to `BarkProcessor.__call__(...)`
>>> voice_preset = "v2/en_speaker_6"
>>> inputs = processor("Hello, my dog is cute, I need him in my life", voice_preset=voice_preset)
>>> audio_array = model.generate(**inputs, semantic_max_new_tokens=100)
>>> audio_array = audio_array.cpu().numpy().squeeze()enable_cpu_offload
< source >( accelerator_id: int | None = 0**kwargs )
accelerate를 사용하여 모든 서브모델을 CPU로 오프로드하여 성능에 미치는 영향은 적으면서 메모리 사용량을 줄입니다. 이 메서드는 서브모델이 사용될 때 한 번에 하나의 서브모델 전체를 가속기로 이동하며, 해당 서브모델은 다음 서브모델이 실행될 때까지 가속기에 유지됩니다.
BarkSemanticModel
class transformers.BarkSemanticModel
< source >( config: BarkSubModelConfig )
매개변수
- config (
BarkSubModelConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 연관된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
Bark semantic(또는 text) 모델입니다. coarse 모델과 동일한 아키텍처를 공유합니다. 언어 모델링 헤드가 위에 있는 GPT-2와 유사한 자기회귀(autoregressive) 모델입니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)
매개변수
- input_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 어휘(input vocabulary)에서 입력 시퀀스 토큰의 인덱스입니다. 기본적으로 패딩은 무시됩니다.AutoTokenizer를 사용하여 인덱스를 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()를 참조하세요.
- past_key_values (
~cache_utils.Cache, 선택 사항) — 순차적 디코딩을 가속화할 수 있는 사전 계산된 hidden-states(self-attention 블록과 cross-attention 블록의 key 및 value). 일반적으로 이는past_key_values디코딩의 이전 단계에서 모델이 반환한use_cache=True또는config.use_cache=True.입력으로 Cache 인스턴스만 허용되며, kv cache 가이드를 참고하세요.
past_key_values가 전달되지 않으면 기본적으로 DynamicCache가 초기화됩니다.모델은 입력으로 제공된 것과 동일한 캐시 형식을 출력합니다.
past_key_values를 사용하는 경우, 이 모델에 과거 키 값 상태가 제공되지 않은input_ids만 입력해야 하며, 이때의 shape은(batch_size, unprocessed_length)입니다. shape이(batch_size, sequence_length)인 전체input_ids를 입력하지 않습니다. - attention_mask (
torch.Tensor형상이(batch_size, sequence_length), 선택 사항) — 패딩 토큰 인덱스에 대한 attention을 수행하지 않도록 방지하는 마스크. [0, 1]에서 선택된 마스크 값: 마스크되지 않은 토큰은 1, 마스크된 토큰은 0. attention mask란 무엇인가요?[0, 1]:- 마스크되지 않은 토큰에 대해 1
- 마스크된 토큰에 대해 0
- position_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 입력 시퀀스 토큰의 위치 임베딩에서 각 토큰의 위치 인덱스. 범위는[0, config.n_positions - 1]. - labels (
torch.LongTensor, shape(batch_size, sequence_length), 선택 사항) — 마스크 언어 모델링 손실을 계산하는 데 사용되는 라벨입니다. 인덱스는[0, ..., config.vocab_size]범위 내의 값이거나 -100이어야 합니다(input_idsdocstring 참조). 인덱스가-100으로 설정된 토큰은 무시(마스크)되며, 손실은[0, ..., config.vocab_size]범위의 라벨을 가진 토큰에 대해서만 계산됩니다. - inputs_embeds (
torch.Tensor, shape(batch_size, sequence_length, hidden_size), 선택) —input_ids를 전달하는 대신 임베딩 표현을 직접 전달할 수 있습니다. 이는 모델 내부의 임베딩 조회 행렬보다input_ids인덱스를 관련 벡터로 변환하는 방식에 대해 더 세밀한 제어가 필요한 경우에 유용합니다. - use_cache (
bool, 선택 사항) —True로 설정하면past_key_values키 값 상태가 반환되며, 디코딩 속도를 높이는 데 사용할 수 있습니다(past_key_values참조). - output_attentions (
bool, 선택 사항) — 모든 attention 레이어의 attentions 텐서를 반환할지 여부. 자세한 내용은 반환 텐서 섹션의attentions항목을 참조하세요. - output_hidden_states (
bool, 선택 사항) — 모든 레이어의 hidden states를 반환할지 여부입니다. 자세한 내용은 반환되는 텐서 중hidden_states항목을 참고하세요. - return_dict (
bool, 선택) — 일반 튜플 대신 ModelOutput를 반환할지 여부.
반환값
CausalLMOutputWithPast 또는 tuple(torch.Tensor)
torch.Tensor의 튜플 또는 CausalLMOutputWithPast (인수가 return_dict=False인 경우 또는 config.return_dict=False인 경우)로, 구성(BarkConfig)과 입력에 따라 다양한 요소를 포함합니다.
BarkCausalModel의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
loss (
torch.Tensor, shape(1,), 선택 사항,labels이 제공될 때 반환됨) — 언어 모델링 손실(다음 토큰 예측용).logits (
torch.Tensor, shape(batch_size, sequence_length, config.vocab_size)) — 언어 모델링 헤드에서 생성된 예측 점수(SoftMax 적용 전 각 어휘 토큰에 대한 점수).past_key_values (
Cache, 선택 사항,use_cache=True가 전달되었거나config.use_cache=True인 경우 반환됨) — Cache 인스턴스입니다. 자세한 내용은 kv cache 가이드를 참고하세요.순차적 디코딩을 가속화하는 데 사용할 수 있는 사전 계산된 hidden-states(셀프 어텐션 블록의 key와 value)를 포함합니다(입력
past_key_values참조).hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩 출력 1개 + 각 레이어의 출력 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 모델의 Hidden-states와 선택적 초기 임베딩 출력을 포함합니다.
attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention softmax 이후의 attention 가중치.
BarkCoarseModel
class transformers.BarkCoarseModel
< source >( config: BarkSubModelConfig )
매개변수
- config (
BarkSubModelConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 연관된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
Bark coarse acoustics 모델입니다. semantic(또는 text) 모델과 동일한 아키텍처를 공유합니다. 상단에 language modeling head가 있는 GPT-2와 유사한 autoregressive 모델입니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)
매개변수
- input_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 어휘(input vocabulary)에서 입력 시퀀스 토큰의 인덱스입니다. 기본적으로 패딩은 무시됩니다.AutoTokenizer를 사용하여 인덱스를 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()를 참조하세요.
- past_key_values (
~cache_utils.Cache, 선택 사항) — 순차적 디코딩을 가속화할 수 있는 사전 계산된 hidden-states(self-attention 블록과 cross-attention 블록의 key 및 value). 일반적으로 이는past_key_values디코딩의 이전 단계에서 모델이 반환한use_cache=True또는config.use_cache=True.입력으로 Cache 인스턴스만 허용되며, kv cache 가이드를 참고하세요.
past_key_values가 전달되지 않으면 기본적으로 DynamicCache가 초기화됩니다.모델은 입력으로 제공된 것과 동일한 캐시 형식을 출력합니다.
past_key_values를 사용하는 경우, 이 모델에 과거 키 값 상태가 제공되지 않은input_ids만 입력해야 하며, 이때의 shape은(batch_size, unprocessed_length)입니다. shape이(batch_size, sequence_length)인 전체input_ids를 입력하지 않습니다. - attention_mask (
torch.Tensor형상이(batch_size, sequence_length), 선택 사항) — 패딩 토큰 인덱스에 대한 attention을 수행하지 않도록 방지하는 마스크. [0, 1]에서 선택된 마스크 값: 마스크되지 않은 토큰은 1, 마스크된 토큰은 0. attention mask란 무엇인가요?[0, 1]:- 마스크되지 않은 토큰에 대해 1
- 마스크된 토큰에 대해 0
- position_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 입력 시퀀스 토큰의 위치 임베딩에서 각 토큰의 위치 인덱스. 범위는[0, config.n_positions - 1]. - labels (
torch.LongTensor, shape(batch_size, sequence_length), 선택 사항) — 마스크 언어 모델링 손실을 계산하는 데 사용되는 라벨입니다. 인덱스는[0, ..., config.vocab_size]범위 내의 값이거나 -100이어야 합니다(input_idsdocstring 참조). 인덱스가-100으로 설정된 토큰은 무시(마스크)되며, 손실은[0, ..., config.vocab_size]범위의 라벨을 가진 토큰에 대해서만 계산됩니다. - inputs_embeds (
torch.Tensor, shape(batch_size, sequence_length, hidden_size), 선택) —input_ids를 전달하는 대신 임베딩 표현을 직접 전달할 수 있습니다. 이는 모델 내부의 임베딩 조회 행렬보다input_ids인덱스를 관련 벡터로 변환하는 방식에 대해 더 세밀한 제어가 필요한 경우에 유용합니다. - use_cache (
bool, 선택 사항) —True로 설정하면past_key_values키 값 상태가 반환되며, 디코딩 속도를 높이는 데 사용할 수 있습니다(past_key_values참조). - output_attentions (
bool, 선택 사항) — 모든 attention 레이어의 attentions 텐서를 반환할지 여부. 자세한 내용은 반환 텐서 섹션의attentions항목을 참조하세요. - output_hidden_states (
bool, 선택 사항) — 모든 레이어의 hidden states를 반환할지 여부입니다. 자세한 내용은 반환되는 텐서 중hidden_states항목을 참고하세요. - return_dict (
bool, 선택) — 일반 튜플 대신 ModelOutput를 반환할지 여부.
반환값
CausalLMOutputWithPast 또는 tuple(torch.Tensor)
torch.Tensor의 튜플 또는 CausalLMOutputWithPast (인수가 return_dict=False인 경우 또는 config.return_dict=False인 경우)로, 구성(BarkConfig)과 입력에 따라 다양한 요소를 포함합니다.
BarkCausalModel의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
loss (
torch.Tensor, shape(1,), 선택 사항,labels이 제공될 때 반환됨) — 언어 모델링 손실(다음 토큰 예측용).logits (
torch.Tensor, shape(batch_size, sequence_length, config.vocab_size)) — 언어 모델링 헤드에서 생성된 예측 점수(SoftMax 적용 전 각 어휘 토큰에 대한 점수).past_key_values (
Cache, 선택 사항,use_cache=True가 전달되었거나config.use_cache=True인 경우 반환됨) — Cache 인스턴스입니다. 자세한 내용은 kv cache 가이드를 참고하세요.순차적 디코딩을 가속화하는 데 사용할 수 있는 사전 계산된 hidden-states(셀프 어텐션 블록의 key와 value)를 포함합니다(입력
past_key_values참조).hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩 출력 1개 + 각 레이어의 출력 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 모델의 Hidden-states와 선택적 초기 임베딩 출력을 포함합니다.
attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention softmax 이후의 attention 가중치.
BarkFineModel
클래스 transformers.BarkFineModel
< source >( config: BarkFineConfig )
매개변수
- config (BarkFineConfig) — 모델의 모든 매개변수를 포함하는 모델 구성 클래스입니다. 구성 파일로 초기화하는 것은 모델과 관련된 가중치를 로드하지 않으며, 구성 정보만 로드합니다. 모델 가중치를 로드하려면 from_pretrained() 메서드를 확인하세요.
Bark fine acoustics 모델입니다. config.n_codes_total개의 임베딩 레이어와 언어 모델링 헤드를 가진 비인과적 GPT 유사 모델로, 각 코드북마다 하나의 헤드를 사용합니다.
이 모델은 PreTrainedModel에서 상속됩니다. 라이브러리가 모든 모델에 대해 구현하는 일반적 메서드(다운로드 또는 저장, 입력 임베딩 크기 조정, 헤드 프루닝 등)에 대한 세부 사항은 상위 클래스 문서를 확인하세요.
이 모델은 또한 PyTorch torch.nn.Module의 하위 클래스입니다. 일반적인 PyTorch Module처럼 사용하며, 일반적인 사용법 및 동작과 관련된 모든 사항은 PyTorch 문서를 참조하세요.
forward
< source >( codebook_idx: intinput_ids: typing.Optional[torch.Tensor] = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → MaskedLMOutput or tuple(torch.Tensor)
매개변수
- codebook_idx (
int) — 예측할 codebook의 인덱스입니다. - input_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 어휘(input vocabulary)에서 입력 시퀀스 토큰의 인덱스입니다. 기본적으로 패딩은 무시됩니다.AutoTokenizer를 사용하여 인덱스를 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()를 참조하세요.
- attention_mask (
torch.Tensor형상이(batch_size, sequence_length), 선택 사항) — 패딩 토큰 인덱스에 대한 attention을 수행하지 않도록 방지하는 마스크. [0, 1]에서 선택된 마스크 값: 마스크되지 않은 토큰은 1, 마스크된 토큰은 0. attention mask란 무엇인가요?[0, 1]:- 마스크되지 않은 토큰에 대해 1
- 마스크된 토큰에 대해 0
- position_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 입력 시퀀스 토큰의 위치 임베딩에서 각 토큰의 위치 인덱스. 범위는[0, config.n_positions - 1]. - labels (
torch.LongTensor, shape(batch_size, sequence_length), 선택 사항) — 아직 구현되지 않았습니다. - inputs_embeds (
torch.Tensor, shape(batch_size, sequence_length, hidden_size), 선택) —input_ids를 전달하는 대신 임베딩 표현을 직접 전달할 수 있습니다. 이는 모델 내부의 임베딩 조회 행렬보다input_ids인덱스를 관련 벡터로 변환하는 방식에 대해 더 세밀한 제어가 필요한 경우에 유용합니다. - output_attentions (
bool, 선택 사항) — 모든 attention 레이어의 attentions 텐서를 반환할지 여부. 자세한 내용은 반환 텐서 섹션의attentions항목을 참조하세요. - output_hidden_states (
bool, 선택 사항) — 모든 레이어의 hidden states를 반환할지 여부입니다. 자세한 내용은 반환되는 텐서 중hidden_states항목을 참고하세요. - return_dict (
bool, 선택) — 일반 튜플 대신 ModelOutput를 반환할지 여부.
반환값
MaskedLMOutput 또는 tuple(torch.Tensor)
torch.Tensor의 튜플 또는 MaskedLMOutput (인수가 return_dict=False인 경우 또는 config.return_dict=False인 경우)로, 구성(BarkConfig)과 입력에 따라 다양한 요소를 포함합니다.
BarkFineModel의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
loss (
torch.Tensor, shape(1,), 선택 사항,labels이 제공될 때 반환됨) — Masked language modeling (MLM) loss.logits (
torch.Tensor, shape(batch_size, sequence_length, config.vocab_size)) — 언어 모델링 헤드에서 생성된 예측 점수(SoftMax 적용 전 각 어휘 토큰에 대한 점수).hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩 출력 1개 + 각 레이어의 출력 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 모델의 Hidden-states와 선택적 초기 임베딩 출력을 포함합니다.
attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention softmax 이후의 attention 가중치.
BarkCausalModel
forward
< source >( input_ids: typing.Optional[torch.Tensor] = Nonepast_key_values: transformers.cache_utils.Cache | None = Noneattention_mask: typing.Optional[torch.Tensor] = Noneposition_ids: typing.Optional[torch.Tensor] = Nonelabels: typing.Optional[torch.LongTensor] = Noneinputs_embeds: typing.Optional[torch.Tensor] = Noneuse_cache: bool | None = Noneoutput_attentions: bool | None = Noneoutput_hidden_states: bool | None = Nonereturn_dict: bool | None = None**kwargs ) → CausalLMOutputWithPast or tuple(torch.Tensor)
매개변수
- input_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 어휘(input vocabulary)에서 입력 시퀀스 토큰의 인덱스입니다. 기본적으로 패딩은 무시됩니다.AutoTokenizer를 사용하여 인덱스를 얻을 수 있습니다. 자세한 내용은 PreTrainedTokenizer.encode() 및 PreTrainedTokenizer.call()를 참조하세요.
- past_key_values (
~cache_utils.Cache, 선택 사항) — 순차적 디코딩을 가속화할 수 있는 사전 계산된 hidden-states(self-attention 블록과 cross-attention 블록의 key 및 value). 일반적으로 이는past_key_values디코딩의 이전 단계에서 모델이 반환한use_cache=True또는config.use_cache=True.입력으로 Cache 인스턴스만 허용되며, kv cache 가이드를 참고하세요.
past_key_values가 전달되지 않으면 기본적으로 DynamicCache가 초기화됩니다.모델은 입력으로 제공된 것과 동일한 캐시 형식을 출력합니다.
past_key_values를 사용하는 경우, 이 모델에 과거 키 값 상태가 제공되지 않은input_ids만 입력해야 하며, 이때의 shape은(batch_size, unprocessed_length)입니다. shape이(batch_size, sequence_length)인 전체input_ids를 입력하지 않습니다. - attention_mask (
torch.Tensor형상이(batch_size, sequence_length), 선택 사항) — 패딩 토큰 인덱스에 대한 attention을 수행하지 않도록 방지하는 마스크. [0, 1]에서 선택된 마스크 값: 마스크되지 않은 토큰은 1, 마스크된 토큰은 0. attention mask란 무엇인가요?[0, 1]:- 마스크되지 않은 토큰에 대해 1
- 마스크된 토큰에 대해 0
- position_ids (
torch.Tensor의 shape(batch_size, sequence_length), , 선택 사항) — 입력 시퀀스 토큰의 위치 임베딩에서 각 토큰의 위치 인덱스. 범위는[0, config.n_positions - 1]. - labels (
torch.LongTensor, shape(batch_size, sequence_length), 선택 사항) — 마스크 언어 모델링 손실을 계산하는 데 사용되는 라벨입니다. 인덱스는[0, ..., config.vocab_size]범위 내의 값이거나 -100이어야 합니다(input_idsdocstring 참조). 인덱스가-100으로 설정된 토큰은 무시(마스크)되며, 손실은[0, ..., config.vocab_size]범위의 라벨을 가진 토큰에 대해서만 계산됩니다. - inputs_embeds (
torch.Tensor, shape(batch_size, sequence_length, hidden_size), 선택) —input_ids를 전달하는 대신 임베딩 표현을 직접 전달할 수 있습니다. 이는 모델 내부의 임베딩 조회 행렬보다input_ids인덱스를 관련 벡터로 변환하는 방식에 대해 더 세밀한 제어가 필요한 경우에 유용합니다. - use_cache (
bool, 선택 사항) —True로 설정하면past_key_values키 값 상태가 반환되며, 디코딩 속도를 높이는 데 사용할 수 있습니다(past_key_values참조). - output_attentions (
bool, 선택 사항) — 모든 attention 레이어의 attentions 텐서를 반환할지 여부. 자세한 내용은 반환 텐서 섹션의attentions항목을 참조하세요. - output_hidden_states (
bool, 선택 사항) — 모든 레이어의 hidden states를 반환할지 여부입니다. 자세한 내용은 반환되는 텐서 중hidden_states항목을 참고하세요. - return_dict (
bool, 선택) — 일반 튜플 대신 ModelOutput를 반환할지 여부.
반환값
CausalLMOutputWithPast 또는 tuple(torch.Tensor)
torch.Tensor의 튜플 또는 CausalLMOutputWithPast (인수가 return_dict=False인 경우 또는 config.return_dict=False인 경우)로, 구성(BarkConfig)과 입력에 따라 다양한 요소를 포함합니다.
BarkCausalModel의 forward 메서드는 __call__ 특수 메서드를 오버라이드합니다.
이 함수 내에서 forward pass의 레시피를 정의해야 하지만, 이후에는 이 함수 대신
Module인스턴스를 호출해야 합니다. 전자는 전처리 및 후처리 단계를 실행하는 것을 처리하는 반면, 후자는 이를 조용히 무시하기 때문입니다.
loss (
torch.Tensor, shape(1,), 선택 사항,labels이 제공될 때 반환됨) — 언어 모델링 손실(다음 토큰 예측용).logits (
torch.Tensor, shape(batch_size, sequence_length, config.vocab_size)) — 언어 모델링 헤드에서 생성된 예측 점수(SoftMax 적용 전 각 어휘 토큰에 대한 점수).past_key_values (
Cache, 선택 사항,use_cache=True가 전달되었거나config.use_cache=True인 경우 반환됨) — Cache 인스턴스입니다. 자세한 내용은 kv cache 가이드를 참고하세요.순차적 디코딩을 가속화하는 데 사용할 수 있는 사전 계산된 hidden-states(셀프 어텐션 블록의 key와 value)를 포함합니다(입력
past_key_values참조).hidden_states (
tuple(torch.Tensor), 선택 사항,output_hidden_states=True가 전달되거나config.output_hidden_states=True인 경우 반환됨) —torch.Tensor의 튜플(모델에 임베딩 레이어가 있는 경우 임베딩 출력 1개 + 각 레이어의 출력 1개)로, 모양은(batch_size, sequence_length, hidden_size)입니다.각 레이어의 출력에서 모델의 Hidden-states와 선택적 초기 임베딩 출력을 포함합니다.
attentions (
tuple(torch.Tensor), 선택 사항,output_attentions=True가 전달되었거나config.output_attentions=True인 경우 반환됨) — 각 레이어마다 하나씩 포함된torch.Tensor의 튜플로, 모양은(batch_size, num_heads, sequence_length, sequence_length)입니다.self-attention 헤드에서 가중 평균을 계산하는 데 사용되는 attention softmax 이후의 attention 가중치.
BarkCoarseConfig
class transformers.BarkCoarseConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = True )
매개변수
- block_size (
int, 선택 사항, 기본값 1024) — 이 모델이 사용될 수 있는 최대 시퀀스 길이입니다. 혹시 모를 상황에 대비하여 일반적으로 큰 값(예: 512, 1024, 2048)으로 설정합니다. - input_vocab_size (
int, 선택 사항, 기본값 10_048) — Bark 서브모델의 어휘 크기입니다.{model}을 호출할 때 전달하는inputs_ids로 표현할 수 있는 서로 다른 토큰의 수를 정의합니다. 기본값은 10_048이지만, 선택한 서브모델에 따라 신중하게 결정해야 합니다. - output_vocab_size (
int, 선택 사항, 기본값 10_048) — Bark 서브모델의 출력 어휘 크기입니다.{model}을(를) 전달하여 forward를 수행할 때output_ids로 표현할 수 있는 서로 다른 토큰의 수를 정의합니다. 기본값은 10_048이지만, 선택한 서브모델에 따라 신중하게 결정해야 합니다. - num_layers (
int, 선택 사항, 기본값12) — Transformer decoder의 hidden layer 수입니다. - num_heads (
int, 선택 사항, 기본값12) — Transformer decoder의 각 attention layer에 사용할 attention head의 수입니다. - hidden_size (
int, 선택 사항, 기본값768) — 숨겨진 표현의 차원입니다. - dropout (
Union[float, int], 선택 사항, 기본값0.0) — 모든 dropout 레이어에 적용할 비율입니다. - bias (
bool, 선택 사항, 기본값True) — 선형 레이어와 레이어 노름 레이어에서 bias를 사용할지 여부 - initializer_range (
float, 선택 사항, 기본값0.02) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다. - use_cache (
bool, 선택 사항, 기본값True) — 모델이 마지막 key/values attention을 반환할지 여부입니다(모든 모델에서 사용되지 않음).config.is_decoder=True인 경우 또는 모델이 decoder-only 생성 모델인 경우에만 관련이 있습니다.
이것은 BarkModel의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인자에 따라 Bark 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 suno/bark와 유사한 설정이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
예:
>>> from transformers import BarkCoarseConfig, BarkCoarseModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkCoarseConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkCoarseModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configBarkFineConfig
클래스 transformers.BarkFineConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = Truetie_word_embeddings: bool = Truen_codes_total: int = 8n_codes_given: int = 1 )
매개변수
- block_size (
int, 선택 사항, 기본값 1024) — 이 모델이 사용될 수 있는 최대 시퀀스 길이입니다. 혹시 모를 상황에 대비하여 일반적으로 큰 값(예: 512, 1024, 2048)으로 설정합니다. - input_vocab_size (
int, 선택 사항, 기본값 10_048) — Bark 서브모델의 어휘 크기입니다.{model}을 호출할 때 전달하는inputs_ids로 표현할 수 있는 서로 다른 토큰의 수를 정의합니다. 기본값은 10_048이지만, 선택한 서브모델에 따라 신중하게 결정해야 합니다. - output_vocab_size (
int, 선택 사항, 기본값 10_048) — Bark 서브모델의 출력 어휘 크기입니다.{model}을(를) 전달하여 forward를 수행할 때output_ids로 표현할 수 있는 서로 다른 토큰의 수를 정의합니다. 기본값은 10_048이지만, 선택한 서브모델에 따라 신중하게 결정해야 합니다. - num_layers (
int, 선택 사항, 기본값12) — Transformer decoder의 hidden layer 수입니다. - num_heads (
int, 선택 사항, 기본값12) — Transformer decoder의 각 attention layer에 사용할 attention head의 수입니다. - hidden_size (
int, 선택 사항, 기본값768) — 숨겨진 표현의 차원입니다. - dropout (
Union[float, int], 선택 사항, 기본값0.0) — 모든 dropout 레이어에 적용할 비율입니다. - bias (
bool, 선택 사항, 기본값True) — 선형 레이어와 레이어 노름 레이어에서 bias를 사용할지 여부 - initializer_range (
float, 선택 사항, 기본값0.02) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다. - use_cache (
bool, 선택 사항, 기본값True) — 모델이 마지막 key/values attention을 반환할지 여부입니다(모든 모델에서 사용되지 않음).config.is_decoder=True인 경우 또는 모델이 decoder-only 생성 모델인 경우에만 관련이 있습니다. - tie_word_embeddings (
bool, 선택, 기본값True) — 모델의tied_weights_keys매핑에 따라 가중치 임베딩을 묶을지 여부. - n_codes_total (
int, 선택 사항, 기본값 8) — 예측되는 오디오 코드북의 총 개수입니다. 정밀 음향 서브모델에 사용됩니다. - n_codes_given (
int, 선택 사항, 기본값 1) — 거친 음향 서브모델에서 예측되는 오디오 코드북의 수입니다. 음향 서브모델에서 사용됩니다.
이것은 BarkModel의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인자에 따라 Bark 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 suno/bark와 유사한 설정이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
예:
>>> from transformers import BarkFineConfig, BarkFineModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkFineConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkFineModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.configBarkSemanticConfig
클래스 transformers.BarkSemanticConfig
< source >( transformers_version: str | None = Nonearchitectures: list[str] | None = Noneoutput_hidden_states: bool | None = Falsereturn_dict: bool | None = Truedtype: str | torch.dtype | None = Nonechunk_size_feed_forward: int = 0is_encoder_decoder: bool = Falseid2label: dict[int, str] | dict[str, str] | None = Nonelabel2id: dict[str, int] | dict[str, str] | None = Noneproblem_type: Literal['regression', 'single_label_classification', 'multi_label_classification'] | None = Noneblock_size: int = 1024input_vocab_size: int = 10048output_vocab_size: int = 10048num_layers: int = 12num_heads: int = 12hidden_size: int = 768dropout: float | int = 0.0bias: bool = Trueinitializer_range: float = 0.02use_cache: bool = True )
매개변수
- block_size (
int, 선택 사항, 기본값 1024) — 이 모델이 사용될 수 있는 최대 시퀀스 길이입니다. 혹시 모를 상황에 대비하여 일반적으로 큰 값(예: 512, 1024, 2048)으로 설정합니다. - input_vocab_size (
int, 선택 사항, 기본값 10_048) — Bark 서브모델의 어휘 크기입니다.{model}을 호출할 때 전달하는inputs_ids로 표현할 수 있는 서로 다른 토큰의 수를 정의합니다. 기본값은 10_048이지만, 선택한 서브모델에 따라 신중하게 결정해야 합니다. - output_vocab_size (
int, 선택 사항, 기본값 10_048) — Bark 서브모델의 출력 어휘 크기입니다.{model}을(를) 전달하여 forward를 수행할 때output_ids로 표현할 수 있는 서로 다른 토큰의 수를 정의합니다. 기본값은 10_048이지만, 선택한 서브모델에 따라 신중하게 결정해야 합니다. - num_layers (
int, 선택 사항, 기본값12) — Transformer decoder의 hidden layer 수입니다. - num_heads (
int, 선택 사항, 기본값12) — Transformer decoder의 각 attention layer에 사용할 attention head의 수입니다. - hidden_size (
int, 선택 사항, 기본값768) — 숨겨진 표현의 차원입니다. - dropout (
Union[float, int], 선택 사항, 기본값0.0) — 모든 dropout 레이어에 적용할 비율입니다. - bias (
bool, 선택 사항, 기본값True) — 선형 레이어와 레이어 노름 레이어에서 bias를 사용할지 여부 - initializer_range (
float, 선택 사항, 기본값0.02) — 모든 가중치 행렬을 초기화하는 truncated_normal_initializer의 표준 편차입니다. - use_cache (
bool, 선택 사항, 기본값True) — 모델이 마지막 key/values attention을 반환할지 여부입니다(모든 모델에서 사용되지 않음).config.is_decoder=True인 경우 또는 모델이 decoder-only 생성 모델인 경우에만 관련이 있습니다.
이것은 BarkModel의 설정을 저장하기 위한 설정 클래스입니다. 지정된 인자에 따라 Bark 모델을 인스턴스화하고 모델 아키텍처를 정의하는 데 사용됩니다. 기본값으로 설정을 인스턴스화하면 suno/bark와 유사한 설정이 생성됩니다.
Configuration 객체는 PreTrainedConfig를 상속하며 모델 출력을 제어하는 데 사용할 수 있습니다. 자세한 내용은 PreTrainedConfig의 문서를 참고하세요.
예:
>>> from transformers import BarkSemanticConfig, BarkSemanticModel
>>> # Initializing a Bark sub-module style configuration
>>> configuration = BarkSemanticConfig()
>>> # Initializing a model (with random weights) from the suno/bark style configuration
>>> model = BarkSemanticModel(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config