? aivmlib : ai vis v oice m odel 파일 (.aivm/.aivmx) 유틸리티 lib rary
AIVM ( ai vis v oice m odel) / aivmx ( ai vis v oice m odel for onn x )는 미리 훈련 된 모델, 초 파라미터, 스타일 벡터, 스피커 메타 데이터 (이름, 오버 뷰, 라이센스, 아이콘, 음성 샘플 등)를 하나의 파일로 결합한 AI 음성 합성 모델에 대한 열린 파일 형식입니다 .
메모
"AIVM"은 AIVM/AIVMX 형식 사양과 메타 데이터 사양 모두에 대한 일반적인 용어입니다.
특히 AIVM 파일은 "AIVM 메타 데이터가 추가 된 SAFETENSORS 형식"의 모델 파일이며 AIVMX 파일은 "AIVM 메타 데이터가 추가 된 Onnx 형식"의 모델 파일입니다.
"AIVM 메타 데이터"는 AIVM 사양에 정의 된 훈련 된 모델에 연결된 다양한 메타 데이터를 나타냅니다.
aivisspeech/aivisspeech-ennine을 포함하여 AIVM 사양을 지원하는 소프트웨어에 AIVM/AIVMX 파일을 추가하여 AI 음성 합성 모델을 쉽게 사용할 수 있습니다.
AIVMLIB/AIVMLIB-WEB는 AIVM/AIVMX 파일에서 메타 데이터를 읽고 쓰는 유틸리티를 제공합니다.
이 AIVMLIB는 Python으로 작성된 AIVM 사양의 참조 구현입니다. 웹 브라우저를 사용하는 경우 aivmlib-web를 사용하십시오.
팁
AIVM Generator를 사용하면 브라우저에서 GUI를 사용하여 AIVM/AIVMX 파일을 쉽게 생성하고 편집 할 수 있습니다.
AIVM/AIVMX 파일을 수동으로 생성하고 편집 할 때 AIVM 생성기를 사용하는 것이 좋습니다.
PIP로 설치하면 명령 줄 도구 aivmlib 도 자동으로 설치됩니다.
파이썬 3.11 이상이 필요합니다.
pip install aivmlib나는 개발 중에시를 사용합니다.
pip install poetry
git clone https://github.com/Aivis-Project/aivmlib.git
cd aivmlib
poetry install --with dev
poetry run aivmlib --help아래는 CLI 도구 자체를 사용하는 방법입니다.
$ aivmlib --help
Usage: aivmlib [OPTIONS] COMMAND [ARGS]...
Aivis Voice Model File (.aivm/.aivmx) Utility Library
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it │
│ or customize the installation. │
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────╮
│ create-aivm 与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, │
│ スタイルベクトルから AIVM メタデータを生成した上で、 │
│ それを書き込んだ仮の AIVM ファイルを生成する │
│ create-aivmx 与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, │
│ スタイルベクトルから AIVM メタデータを生成した上で、 │
│ それを書き込んだ仮の AIVMX ファイルを生成する │
│ show-metadata 指定されたパスの AIVM / AIVMX ファイル内に記録されている AIVM │
│ メタデータを見やすく出力する │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib show-metadata --help
Usage: aivmlib show-metadata [OPTIONS] FILE_PATH
指定されたパスの AIVM / AIVMX ファイル内に記録されている AIVM メタデータを見やすく出力する
╭─ Arguments ───────────────────────────────────────────────────────────────────────╮
│ * file_path PATH Path to the AIVM / AIVMX file [default: None] │
│ [required] │
╰───────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib create-aivm --help
Usage: aivmlib create-aivm [OPTIONS]
与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, スタイルベクトルから
AIVM メタデータを生成した上で、それを書き込んだ仮の AIVM ファイルを生成する
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ * --output -o PATH Path to the output AIVM │
│ file │
│ [default: None] │
│ [required] │
│ * --model -m PATH Path to the Safetensors │
│ model file │
│ [default: None] │
│ [required] │
│ --hyper-parameters -h PATH Path to the hyper │
│ parameters file │
│ (optional) │
│ [default: None] │
│ --style-vectors -s PATH Path to the style │
│ vectors file (optional) │
│ [default: None] │
│ --model-architecture -a [Style-Bert-VITS2 | Styl Model architecture │
│ e-Bert-VITS2 [default: │
│ (JP-Extra)] Style-Bert-VITS2 │
│ (JP-Extra)] │
│ --help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
$ aivmlib create-aivmx --help
Usage: aivmlib create-aivmx [OPTIONS]
与えられたアーキテクチャ, 学習済みモデル, ハイパーパラメータ, スタイルベクトルから
AIVM メタデータを生成した上で、それを書き込んだ仮の AIVMX ファイルを生成する
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ * --output -o PATH Path to the output AIVMX │
│ file │
│ [default: None] │
│ [required] │
│ * --model -m PATH Path to the ONNX model │
│ file │
│ [default: None] │
│ [required] │
│ --hyper-parameters -h PATH Path to the hyper │
│ parameters file │
│ (optional) │
│ [default: None] │
│ --style-vectors -s PATH Path to the style │
│ vectors file (optional) │
│ [default: None] │
│ --model-architecture -a [Style-Bert-VITS2 | Styl Model architecture │
│ e-Bert-VITS2 [default: │
│ (JP-Extra)] Style-Bert-VITS2 │
│ (JP-Extra)] │
│ --help Show this message and │
│ exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯아래는 명령을 실행하는 예입니다.
# Safetensors 形式で保存された "Style-Bert-VITS2 (JP-Extra)" モデルアーキテクチャの学習済みモデルから AIVM ファイルを生成
# .safetensors と同じディレクトリに config.json と style_vectors.npy があることが前提
# -a オプションを省略した場合、既定で "Style-Bert-VITS2 (JP-Extra)" の学習済みモデルと判定される
$ aivmlib create-aivm -o ./output.aivm -m ./model.safetensors
# 明示的にハイパーパラメータとスタイルベクトルのパスを指定して生成
$ aivmlib create-aivm -o ./output.aivm -m ./model.safetensors -h ./config.json -s ./style-vectors.npy
# ONNX 形式で保存された "Style-Bert-VITS2" モデルアーキテクチャの学習済みモデルから AIVMX ファイルを生成
# .onnx と同じディレクトリに config.json と style_vectors.npy があることが前提
$ aivmlib create-aivmx -o ./output.aivmx -m ./model.onnx -a " Style-Bert-VITS2 "
# 明示的にハイパーパラメータとスタイルベクトルのパスを指定して生成
$ aivmlib create-aivmx -o ./output.aivmx -m ./model.onnx -a " Style-Bert-VITS2 " -h ./config.json -s ./style-vectors.npy
# AIVM ファイルに格納された AIVM メタデータを確認
$ aivmlib show-metadata ./output.aivm
# AIVMX ファイルに格納された AIVM メタデータを確認
$ aivmlib show-metadata ./output.aivmx팁
라이브러리로 사용하려면 __main__.py 에서 구현 된 CLI 도구 구현을 참조하십시오.
중요한
aivmlib/aivmlib-web는 aivm/aivmx 파일 형식의 기능 만 읽기/쓰기 만하는 라이브러리입니다.
각 모델 아키텍처에 대한 AI 음성 합성 모델에 대한 추론 논리 및 AIVMLIB/AIVMLIB-WEB에서 얻은 데이터가 라이브러리 사용자에게 남겨진 방법.
MIT 라이센스
이 섹션은 "AIVM 사양"에 포함 된 다음 기술 사양을 정의합니다.
목적은 훈련 된 AI 음성 합성 모델과 그 사용에 필요한 다양한 메타 데이터를 단일 파일로 결합하여 파일 소산 및 혼동을 방지하고 모델을보다 쉽게 사용하고 공유 할 수 있도록하는 것입니다.
팁
이를 단일 파일로 결합하면 AIVM/AIVMX 파일을 다운로드하고 지정된 폴더에 배치하고 호환 가능한 소프트웨어를 사용하여 즉시 음성 합성 모델을 사용하여 쉽게 작동 할 수 있습니다.
또 다른 장점은 압축 파일이 아니므로 배포 할 필요가 없다는 것입니다.
AIVM 사양은 음성 합성 모델의 모델 아키텍처에 의존하지 않습니다.
다양한 모델 아키텍처의 음성 합성 모델을 일반적인 파일 형식으로 처리 할 수 있도록 향후 확장 성과 다양성을 염두에두고 설계되었습니다.
기본 훈련 된 모델이 단일 SAFETENSORS 또는 ONNX 형식으로 저장하는 경우 원칙적으로 메타 데이터를 추가하여 모델 아키텍처에 관계없이 AIVM/AIVMX 파일을 생성 할 수 있습니다.
설계 할 때 기존 생태계와의 호환성을 강조하여 전환 처리없이 정기적 인 안전 장치 또는 ONNX 파일로로드 할 수 있도록 강조했습니다.
중요한
AIVM 사양은 각 모델 아키텍처에 대한 추론 방법을 정의하지 않습니다. 사양은 "AI 음성 합성 모델의 메타 데이터를 요약 한 파일"으로 정의됩니다.
예를 들어, AIVM 파일의 경우, 저장된 AI 음성 합성 모델은 Pytorch 또는 Tensorflow 용일 수 있습니다.
AI Speech Synthesis 모델을 추론하는 방법은 AIVM/AIVMX 파일을 지원하는 소프트웨어를 구현할 수 있습니다.
AIVM 파일 형식의 사양은 다음과 같습니다.
AIVM ( AI Vis v Oice M Odel)은 Safetensors (.Safetensors) 형식에 저장된 훈련 된 모델의 헤더 영역에서 스피커 메타 데이터 (AIVM Manifest), 초 파라미터 및 스타일 벡터와 같은 다양한 정보를 저장하는 확장 안전 안전 형식 사양입니다.
또한 "Safetensors 형식으로 저장된 AI 음성 합성 모델에 대한 일반적인 메타 데이터 설명 사양"이라고도합니다.
SAFETENSOR 형식의 확장 사양이므로 그대로 일반적인 안전 파일로로드 할 수 있습니다.
SAFETENSORS와 마찬가지로, 서명되지 않은 Little-Endian 64 비트 정수의 첫 8 바이트는 헤더 크기와 헤더 크기의 길이에 따른 UTF-8 JSON 스트링이 뒤 따릅니다.
Safetensors의 JSON 헤더는 텐서의 오프셋 등을 저장하지만 __metadata__ 키를 사용하면 맵을 문자열에서 문자열로 자유롭게 설정할 수 있습니다.
이 사양을 사용하여 AIVM은 __metadata__ 의 다음 키에 다음 문자열 데이터를 저장합니다.
aivm_manifest : AIVM 매니페스트aivm_hyper_parameters : 언어 합성 모델을위한 과복 마모 체기Style-Bert-VITS2 및 Style-Bert-VITS2 (JP-Extra) 모델 아키텍처 저장 JSON 문자열aivm_style_vectors : BASE64 인코딩 된 음성 합성 모델 스타일 벡터 (BAINER)Style-Bert-VITS2 및 Style-Bert-VITS2 (JP-Extra) 모델 아키텍처에서 Base64 인코딩 된 Numpy Array (.NPY)가있는 문자열이 저장됩니다.아래는 AIVMX 파일 형식의 사양입니다.
AIVMX ( ai vis v oice m odel for onnx )는 ONNX 형식에 저장된 훈련 된 모델의 메타 데이터 영역에서 스피커 메타 데이터 (AIVM Manifest), 하이퍼 파라미터 스타일 벡터와 같은 다양한 정보를 저장하는 확장 된 ONNX 형식 사양입니다.
또한 "ONNX 형식으로 저장된 AI 음성 합성 모델에 대한 일반적인 메타 데이터 설명 사양"이라고도합니다.
ONNX 형식의 확장 사양이므로 일반적인 ONNX 파일로로드 할 수 있습니다.
ONNX 파일은 프로토콜 버퍼 형식으로 정의되며 메타 데이터를 루트 ModelProto 메시지의 metadata_props 필드에 StringStringEntryProto 목록으로 저장하도록 설계되었습니다.
이 사양을 사용하여 AIVMX는 metadata_props 의 다음 키에 다음 문자열 데이터를 저장합니다.
aivm_manifest : AIVM 매니페스트aivm_hyper_parameters : 언어 합성 모델을위한 과복 마모 체기Style-Bert-VITS2 및 Style-Bert-VITS2 (JP-Extra) 모델 아키텍처 저장 JSON 문자열aivm_style_vectors : BASE64 인코딩 된 음성 합성 모델 스타일 벡터 (BAINER)Style-Bert-VITS2 및 Style-Bert-VITS2 (JP-Extra) 모델 아키텍처에서 Base64 인코딩 된 Numpy Array (.NPY)가있는 문자열이 저장됩니다.아래는 AIVM/AIVMX 파일 형식에 포함 된 AIVM 매니페스트 (버전 1.0)에 대한 사양입니다.
AIVM Manifest에는 Manifest 버전, 모델 아키텍처, 모델 이름, 스피커 메타 데이터 및 스타일 정보와 같은 음성 합성 모델을 사용하는 데 필요한 다양한 정보가 포함되어 있습니다.
AIVM Manifest의 데이터 형식은 JSON 형식으로 작성된 UTF-8 문자열입니다.
JSON 형식으로 인해 이미지와 오디오 데이터는 Base64 인코딩 문자열로 저장됩니다.
메모
AIVM (SAFETENSORS)은 현재 AIVM Manifests의 컨테이너 형식으로 정의 된 AIVM (SAFETENSORS) - AIVMX (ONNX)의 메타 데이터 영역은 문자열 유형에서 중첩없이 문자열 유형으로 키 값이어야하므로 모든 메타 데이터는 문자열로 직렬화되어 저장됩니다.
이미지 및 오디오와 같은 이진 데이터는 Base64 인코딩 된 후 문자열로 저장됩니다.
Style-Bert-VITS2Style-Bert-VITS2 (JP-Extra) 중요한
AIVM/AIVMX 파일을 지원하는 소프트웨어는 자체 소프트웨어에서 지원하지 않는 모델 아키텍처의 AIVM/AIVMX 파일에 대해 올바르게 검증되어야합니다.
예를 들어, Style-Bert-VITS2 (JP-Extra) 이외의 모델 아키텍처를 지원하지 않는 소프트웨어, Style-Bert-VITS2 모델 아키텍처에 대한 AIVM/AIVMX 파일을 설치하라고 요청하면 "이 모델 아키텍처가 지원되지 않습니다"라는 경고가 표시됩니다.
중요한
기술적으로, 위에 나열된 것 이외의 모델 아키텍처의 음성 합성 모델은 저장 될 수 있지만, 위에서 언급 한 유일한 모델 아키텍처 문자열은 공식적으로 AIVM Manifest (버전 1.0) 사양에 정의되어 있습니다.
자신의 모델 아키텍처 문자열을 정의 할 때는 기존 모델 아키텍처와의 이름이 충돌하거나 다른 소프트웨어 간의 오정렬을 피하기 위해 매우주의해야합니다.
이 저장소에 풀 요청을 최대한 많이 보내고 새로운 모델 아키텍처에 대한 지원을 AIVM 사양에 공식적으로 추가하는 것이 좋습니다.
아래는 AIVM Manifest (버전 1.0) 사양 (AIVMLIB의 Pydantic Schema 정의에서 발췌)에 따라 AIVM Manifest의 필드 정의입니다.
중요한
AIVM 매니페스트의 필드는 향후 AIVM 사양이 업데이트되면 추가, 확장 또는 제거 될 수 있습니다.
미래 버전 업데이트 및 추가 모델 아키텍처를 지원하여 AIVM Manifest 및 AIVM/AIVMX 파일 형식 자체에 새로운 메타 데이터가 추가 될 수도 있습니다.
현재 활성화 된 AIVM 매니페스트 버전은 1.0 입니다.
class ModelArchitecture ( StrEnum ):
StyleBertVITS2 = 'Style-Bert-VITS2' # 対応言語: "ja", "en-US", "zh-CN"
StyleBertVITS2JPExtra = 'Style-Bert-VITS2 (JP-Extra)' # 対応言語: "ja"
class ModelFormat ( StrEnum ):
Safetensors = 'Safetensors'
ONNX = 'ONNX'
class AivmManifest ( BaseModel ):
""" AIVM マニフェストのスキーマ """
# AIVM マニフェストのバージョン (ex: 1.0)
# 現在は 1.0 のみサポート
manifest_version : Literal [ '1.0' ]
# 音声合成モデルの名前 (最大 80 文字)
# 音声合成モデル内の話者が 1 名の場合は話者名と同じ値を設定すべき
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 80 )]
# 音声合成モデルの簡潔な説明 (最大 140 文字 / 省略時は空文字列を設定)
description : Annotated [ str , StringConstraints ( max_length = 140 )] = ''
# 音声合成モデルの制作者名のリスト (省略時は空リストを設定)
# 制作者名には npm package.json の "author", "contributors" に指定できるものと同じ書式を利用できる
# 例: ["John Doe", "Jane Doe <[email protected]>", "John Doe <[email protected]> (https://example.com)"]
creators : list [ Annotated [ str , StringConstraints ( min_length = 1 , max_length = 255 )]] = []
# 音声合成モデルのライセンス情報 (Markdown 形式またはプレーンテキスト / 省略時は None を設定)
# AIVM 仕様に対応するソフトでライセンス情報を表示できるよう、Markdown 形式またはプレーンテキストでライセンスの全文を設定する想定
# 社内のみでの利用など、この音声合成モデルの公開・配布を行わない場合は None を設定する
license : Annotated [ str , StringConstraints ( min_length = 1 )] | None = None
# 音声合成モデルのアーキテクチャ (音声合成技術の種類)
model_architecture : ModelArchitecture
# 音声合成モデルのモデル形式 (Safetensors または ONNX)
# AIVM ファイル (.aivm) のモデル形式は Safetensors 、AIVMX ファイル (.aivmx) のモデル形式は ONNX である
model_format : ModelFormat
# 音声合成モデル学習時のエポック数 (省略時は None を設定)
training_epochs : Annotated [ int , Field ( ge = 0 )] | None = None
# 音声合成モデル学習時のステップ数 (省略時は None を設定)
training_steps : Annotated [ int , Field ( ge = 0 )] | None = None
# 音声合成モデルを一意に識別する UUID
uuid : UUID
# 音声合成モデルのバージョン (SemVer 2.0 準拠 / ex: 1.0.0)
version : Annotated [ str , StringConstraints ( pattern = r'^(0|[1-9]d*).(0|[1-9]d*).(0|[1-9]d*)(?:-((?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*)(?:.(?:0|[1-9]d*|d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:+([0-9a-zA-Z-]+(?:.[0-9a-zA-Z-]+)*))?$' )]
# 音声合成モデルの話者情報 (最低 1 人以上の話者が必要)
speakers : list [ AivmManifestSpeaker ]
class AivmManifestSpeaker ( BaseModel ):
""" AIVM マニフェストの話者情報 """
# 話者の名前 (最大 80 文字)
# 音声合成モデル内の話者が 1 名の場合は音声合成モデル名と同じ値を設定すべき
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 80 )]
# 話者のアイコン画像 (Data URL)
# 画像ファイル形式は 512×512 の JPEG (image/jpeg)・PNG (image/png) のいずれか (JPEG を推奨)
icon : Annotated [ str , StringConstraints ( pattern = r'^data:image/(jpeg|png);base64,[A-Za-z0-9+/=]+$' )]
# 話者の対応言語のリスト (BCP 47 言語タグ)
# 例: 日本語: "ja", アメリカ英語: "en-US", 標準中国語: "zh-CN"
supported_languages : list [ Annotated [ str , StringConstraints ( pattern = r'^[a-z]{2,3}(?:-[A-Z]{4})?(?:-(?:[A-Z]{2}|d{3}))?(?:-(?:[A-Za-z0-9]{5,8}|d[A-Za-z0-9]{3}))*(?:-[A-Za-z](?:-[A-Za-z0-9]{2,8})+)*(?:-x(?:-[A-Za-z0-9]{1,8})+)?$' )]]
# 話者を一意に識別する UUID
uuid : UUID
# 話者のローカル ID (この音声合成モデル内で話者を識別するための一意なローカル ID で、uuid とは異なる)
local_id : Annotated [ int , Field ( ge = 0 )]
# 話者のスタイル情報 (最低 1 つ以上のスタイルが必要)
styles : list [ AivmManifestSpeakerStyle ]
class AivmManifestSpeakerStyle ( BaseModel ):
""" AIVM マニフェストの話者スタイル情報 """
# スタイルの名前 (最大 20 文字)
name : Annotated [ str , StringConstraints ( min_length = 1 , max_length = 20 )]
# スタイルのアイコン画像 (Data URL, 省略可能)
# 省略時は話者のアイコン画像がスタイルのアイコン画像として使われる想定
# 画像ファイル形式は 512×512 の JPEG (image/jpeg)・PNG (image/png) のいずれか (JPEG を推奨)
icon : Annotated [ str , StringConstraints ( pattern = r'^data:image/(jpeg|png);base64,[A-Za-z0-9+/=]+$' )] | None = None
# スタイルの ID (この話者内でスタイルを識別するための一意なローカル ID で、uuid とは異なる)
local_id : Annotated [ int , Field ( ge = 0 , le = 31 )] # 最大 32 スタイルまでサポート
# スタイルごとのボイスサンプル (省略時は空リストを設定)
voice_samples : list [ AivmManifestVoiceSample ] = []
class AivmManifestVoiceSample ( BaseModel ):
""" AIVM マニフェストのボイスサンプル情報 """
# ボイスサンプルの音声ファイル (Data URL)
# 音声ファイル形式は WAV (audio/wav, Codec: PCM 16bit)・M4A (audio/mp4, Codec: AAC-LC) のいずれか (M4A を推奨)
audio : Annotated [ str , StringConstraints ( pattern = r'^data:audio/(wav|mp4);base64,[A-Za-z0-9+/=]+$' )]
# ボイスサンプルの書き起こし文
# 書き起こし文は音声ファイルでの発話内容と一致している必要がある
transcript : Annotated [ str , StringConstraints ( min_length = 1 )]A. 다양한 응용 프로그램 및 환경에 최적화 된 두 가지 형식을 제공하여보다 유연하게 사용할 수 있습니다.
A. 예, 가능합니다.
AIVM은 SAFETENSORS 형식의 확장으로 설계되었으며 AIVMX는 ONNX 형식의 확장으로 설계되었으므로 각각은 일반 SAFETENSORS 파일 또는 ONNX 파일로 읽을 수 있습니다.
AIVM 메타 데이터는 기존 모델 형식 사양에 의해 정의 된 메타 데이터 영역에 저장되며 기존 도구의 동작에는 영향을 미치지 않습니다.
A. 두 가지 방법이 있습니다.
변환중인 모델은 단일 SAFETENSOR 또는 ONNX 형식으로 저장해야합니다.
A. AIVM 매니페스트 버전 제어는 다음 정책에 따라 수행됩니다.
현재 1.0이 최신입니다.
A. AIVMLIB 및 AIVMLIB-WEB는 다양한 언어/운영 환경에 대해 동일한 AIVM 사양을 구현하는 라이브러리입니다.
BinaryIO 와 같은 웹 브라우저의 특성에 따라 구현에는 차이가 있지만 JavaScript Web API의 File (BLOB)이됩니다. 기본 API 디자인은 AIVMLIB와 동일합니다.팁
현재 AIVMLIB/AIVMLIB-WEB 외에 공식적으로 유지 관리 된 AIVM 사양 라이브러리가 없습니다.
다른 언어의 타사 라이브러리가 향후에 나타날 가능성이 있습니다.
중요한
새로운 모델 아키텍처에 대한 지원을 추가 할 때는 aivmlib 및 aivmlib-web에 구현을 추가해야합니다.
AIVM Generator는 AIVMLIB-WEB를 사용하기 때문에 최종 사용자에게 새로운 기능을 제공하기 위해 두 라이브러리를 업데이트해야합니다.
A. AIVM 사양은 모델 아키텍처의 구현 세부 사항을 지정하지 않으므로 새로운 모델 아키텍처를 쉽게 추가 할 수 있습니다.
GPT-SoVITS2 )을 ModelArchitecture 에 추가하십시오.generate_aivm_metadata() 함수에 동시에 새로운 모델 아키텍처에 대한 지원을 추가하십시오.aivm_style_vectors 필드와 같은 AIVM 매니페스트와 별개의 새로운 메타 데이터 키를 생성하는 사양을 만듭니다. 그런 다음 풀 요청을 제출하십시오.중요한
제출 된 AIVM 매니페스트 사양은 AIVMLIB (Python) 및 AIVMLIB-WEB (TypeScript Web)에 의해 기술적으로 지원되어야합니다.
AIVMLIB-WEB는 AIVM 발전기 내에서 사용됩니다.
AIVMLIB에 지원을 추가 한 후에는 AIVMLIB-WEB에도 지원을 추가하십시오.
메모
AIVM 매니페스트는 모델 아키텍처와 무관 한 일반적인 메타 데이터 만 정의하도록 설계되었습니다.
구현 별 하이퍼 파라미터는 aivm_hyper_parameters 필드에 저장해야합니다.
또한 하이퍼 파라미터에 대한 pydantic 스키마 정의의 추가를 허용합니다. 현재 Style-Bert-VITS2 아키텍처에 대한 하이퍼 파라미터 스키마 만 정의됩니다.
메모
물론, AIVM/AIVMX의 소스 모델은 단일 SAFETENSORS 또는 ONNX 형식으로 저장해야합니다.
따라서 여러 모델 파일에 걸친 모델 아키텍처는 지원되지 않습니다.
모델 파일을 하나로 결합하거나 불필요한 모델 파일을 제거하는 방법을 고려하십시오.
A. 라이센스 정보는 Markdown 또는 일반 텍스트에 있으며 AIVM/AIVMX 파일에 직접 포함 된 라이센스의 전체 사본을 설정합니다.
URL을 지정하는 대신 전체 라이센스 텍스트를 포함시키는 이유는 다음과 같습니다.
A. 특정 크기 제한은 없지만 모델 파일 자체는 일반적으로 거대하므로 메타 데이터로 인해 추가 파일 크기가 증가하는 것이 최소로 유지되어야합니다.
팁
참조 구현 인 AIVM 생성기는 적절한 크기 최적화를 보장하기 위해이 지침을 따릅니다.
A. 메타 데이터가 바이너리에 직접 내장되어 있으므로 수동 편집은 권장되지 않습니다.
최종 사용자 인 경우 AIVM 생성기를 사용하십시오.
팁
개발자는 aivmlib/aivmlib-web를 사용하여 자체 응용 프로그램을 작성할 수 있습니다.
AIVMLIB CLI는 최소한의 메타 데이터로 AIVM/AIVMX 파일을 생성하고 메타 데이터를 확인하는 기능 만 제공합니다.