Skip to content

Commit 2f830ac

Browse files
authored
Merge pull request #21 from Comfy-Org/ClipMergeSimple
Update ClipMergeSimple node docs
2 parents 994cbc5 + 618aef6 commit 2f830ac

File tree

7 files changed

+215
-25
lines changed

7 files changed

+215
-25
lines changed
Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,40 @@
1+
`CLIPMergeSimple` is an advanced model merging node used to combine two CLIP text encoder models based on a specified ratio.
2+
13
This node specializes in merging two CLIP models based on a specified ratio, effectively blending their characteristics. It selectively applies patches from one model to another, excluding specific components like position IDs and logit scale, to create a hybrid model that combines features from both source models.
24

35
## Inputs
46

5-
| Parameter | Data Type | Description |
6-
|-----------|-------------|-------------|
7-
| `clip1` | `CLIP` | The first CLIP model to be merged. It serves as the base model for the merging process. |
8-
| `clip2` | `CLIP` | The second CLIP model to be merged. Its key patches, except for position IDs and logit scale, are applied to the first model based on the specified ratio. |
9-
| `ratio` | `FLOAT` | Determines the proportion of features from the second model to blend into the first model. A ratio of 1.0 means fully adopting the second model's features, while 0.0 retains only the first model's features. |
7+
| Parameter | Data Type | Description |
8+
|-----------|-----------|-------------|
9+
| `clip1` | CLIP | The first CLIP model to be merged. It serves as the base model for the merging process. |
10+
| `clip2` | CLIP | The second CLIP model to be merged. Its key patches, except for position IDs and logit scale, are applied to the first model based on the specified ratio. |
11+
| `ratio` | FLOAT | Range `0.0 - 1.0`, determines the proportion of features from the second model to blend into the first model. A ratio of 1.0 means fully adopting the second model's features, while 0.0 retains only the first model's features. |
1012

1113
## Outputs
1214

13-
| Parameter | Data Type | Description |
14-
|-----------|-------------|-------------|
15+
| Parameter | Data Type | Description |
16+
|-----------|-----------|-------------|
1517
| `clip` | CLIP | The resulting merged CLIP model, incorporating features from both input models according to the specified ratio. |
18+
19+
## Merging Mechanism Explained
20+
21+
### Merging Algorithm
22+
23+
The node uses weighted averaging to merge the two models:
24+
25+
1. **Clone Base Model**: First clones `clip1` as the base model
26+
2. **Get Patches**: Obtains all key patches from `clip2`
27+
3. **Filter Special Keys**: Skips keys ending with `.position_ids` and `.logit_scale`
28+
4. **Apply Weighted Merge**: Uses the formula `(1.0 - ratio) * clip1 + ratio * clip2`
29+
30+
### Ratio Parameter Explained
31+
32+
- **ratio = 0.0**: Fully uses clip1, ignores clip2
33+
- **ratio = 0.5**: 50% contribution from each model
34+
- **ratio = 1.0**: Fully uses clip2, ignores clip1
35+
36+
## Use Cases
37+
38+
1. **Model Style Fusion**: Combine characteristics of CLIP models trained on different data
39+
2. **Performance Optimization**: Balance strengths and weaknesses of different models
40+
3. **Experimental Research**: Explore combinations of different CLIP encoders
Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,40 @@
1+
`CLIPMergeSimple` es un nodo avanzado de fusión de modelos utilizado para combinar dos modelos codificadores de texto CLIP basándose en una proporción especificada.
2+
13
Este nodo se especializa en fusionar dos modelos CLIP basándose en una proporción especificada, combinando efectivamente sus características. Aplica selectivamente parches de un modelo a otro, excluyendo componentes específicos como los IDs de posición y la escala de logit, para crear un modelo híbrido que combina características de ambos modelos fuente.
24

35
## Entradas
46

57
| Parámetro | Tipo de Dato | Descripción |
68
|-----------|-------------|-------------|
7-
| `clip1` | `CLIP` | El primer modelo CLIP que se va a fusionar. Sirve como el modelo base para el proceso de fusión. |
8-
| `clip2` | `CLIP` | El segundo modelo CLIP que se va a fusionar. Sus parches clave, excepto los IDs de posición y la escala de logit, se aplican al primer modelo según la proporción especificada. |
9-
| `ratio` | `FLOAT` | Determina la proporción de características del segundo modelo que se fusionarán en el primer modelo. Una proporción de 1.0 significa adoptar completamente las características del segundo modelo, mientras que 0.0 retiene solo las características del primer modelo. |
9+
| `clip1` | CLIP | El primer modelo CLIP que se va a fusionar. Sirve como el modelo base para el proceso de fusión. |
10+
| `clip2` | CLIP | El segundo modelo CLIP que se va a fusionar. Sus parches clave, excepto los IDs de posición y la escala de logit, se aplican al primer modelo según la proporción especificada. |
11+
| `ratio` | FLOAT | Rango `0.0 - 1.0`, determina la proporción de características del segundo modelo que se fusionarán en el primer modelo. Una proporción de 1.0 significa adoptar completamente las características del segundo modelo, mientras que 0.0 retiene solo las características del primer modelo. |
1012

1113
## Salidas
1214

1315
| Parámetro | Tipo de Dato | Descripción |
1416
|-----------|-------------|-------------|
1517
| `clip` | CLIP | El modelo CLIP resultante de la fusión, que incorpora características de ambos modelos de entrada según la proporción especificada. |
18+
19+
## Explicación del Mecanismo de Fusión
20+
21+
### Algoritmo de Fusión
22+
23+
El nodo utiliza un promedio ponderado para fusionar los dos modelos:
24+
25+
1. **Clonar Modelo Base**: Primero clona `clip1` como modelo base
26+
2. **Obtener Parches**: Obtiene todos los parches clave de `clip2`
27+
3. **Filtrar Claves Especiales**: Omite las claves que terminan en `.position_ids` y `.logit_scale`
28+
4. **Aplicar Fusión Ponderada**: Utiliza la fórmula `(1.0 - ratio) * clip1 + ratio * clip2`
29+
30+
### Explicación del Parámetro Ratio
31+
32+
- **ratio = 0.0**: Utiliza completamente clip1, ignora clip2
33+
- **ratio = 0.5**: 50% de contribución de cada modelo
34+
- **ratio = 1.0**: Utiliza completamente clip2, ignora clip1
35+
36+
## Casos de Uso
37+
38+
1. **Fusión de Estilos de Modelos**: Combinar características de modelos CLIP entrenados con diferentes datos
39+
2. **Optimización de Rendimiento**: Equilibrar fortalezas y debilidades de diferentes modelos
40+
3. **Investigación Experimental**: Explorar combinaciones de diferentes codificadores CLIP
Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,40 @@
1+
`CLIPMergeSimple` est un nœud avancé de fusion de modèles utilisé pour combiner deux modèles d'encodeur de texte CLIP selon un ratio spécifié.
2+
13
Ce nœud se spécialise dans la fusion de deux modèles CLIP selon un ratio spécifié, mélangeant efficacement leurs caractéristiques. Il applique sélectivement des patches d'un modèle à un autre, en excluant des composants spécifiques comme les IDs de position et l'échelle des logits, pour créer un modèle hybride qui combine les caractéristiques des deux modèles sources.
24

35
## Entrées
46

57
| Paramètre | Type de Donnée | Description |
68
|-----------|-------------|-------------|
7-
| `clip1` | `CLIP` | Le premier modèle CLIP à fusionner. Il sert de modèle de base pour le processus de fusion. |
8-
| `clip2` | `CLIP` | Le second modèle CLIP à fusionner. Ses patches clés, à l'exception des IDs de position et de l'échelle des logits, sont appliqués au premier modèle selon le ratio spécifié. |
9-
| `ratio` | `FLOAT` | Détermine la proportion de caractéristiques du second modèle à intégrer dans le premier modèle. Un ratio de 1.0 signifie adopter entièrement les caractéristiques du second modèle, tandis que 0.0 conserve uniquement les caractéristiques du premier modèle. |
9+
| clip1 | CLIP | Le premier modèle CLIP à fusionner. Il sert de modèle de base pour le processus de fusion. |
10+
| clip2 | CLIP | Le second modèle CLIP à fusionner. Ses patches clés, à l'exception des IDs de position et de l'échelle des logits, sont appliqués au premier modèle selon le ratio spécifié. |
11+
| ratio | FLOAT | Plage `0.0 - 1.0`, détermine la proportion de caractéristiques du second modèle à intégrer dans le premier modèle. Un ratio de 1.0 signifie adopter entièrement les caractéristiques du second modèle, tandis que 0.0 conserve uniquement les caractéristiques du premier modèle. |
1012

1113
## Sorties
1214

1315
| Paramètre | Type de Donnée | Description |
1416
|-----------|-------------|-------------|
15-
| `clip` | CLIP | Le modèle CLIP fusionné résultant, incorporant des caractéristiques des deux modèles d'entrée selon le ratio spécifié. |
17+
| clip | CLIP | Le modèle CLIP fusionné résultant, incorporant des caractéristiques des deux modèles d'entrée selon le ratio spécifié. |
18+
19+
## Explication du Mécanisme de Fusion
20+
21+
### Algorithme de Fusion
22+
23+
Le nœud utilise une moyenne pondérée pour fusionner les deux modèles :
24+
25+
1. **Clonage du Modèle de Base** : Clone d'abord clip1 comme modèle de base
26+
2. **Obtention des Patches** : Obtient tous les patches clés de clip2
27+
3. **Filtrage des Clés Spéciales** : Ignore les clés se terminant par `.position_ids` et `.logit_scale`
28+
4. **Application de la Fusion Pondérée** : Utilise la formule `(1.0 - ratio) * clip1 + ratio * clip2`
29+
30+
### Explication du Paramètre Ratio
31+
32+
- **ratio = 0.0** : Utilise entièrement clip1, ignore clip2
33+
- **ratio = 0.5** : Contribution de 50% de chaque modèle
34+
- **ratio = 1.0** : Utilise entièrement clip2, ignore clip1
35+
36+
## Cas d'Utilisation
37+
38+
1. **Fusion de Styles de Modèles** : Combiner les caractéristiques des modèles CLIP entraînés sur différentes données
39+
2. **Optimisation des Performances** : Équilibrer les forces et les faiblesses de différents modèles
40+
3. **Recherche Expérimentale** : Explorer les combinaisons de différents encodeurs CLIP
Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,40 @@
1+
`CLIPマージシンプル`は、指定された比率に基づいて2つのCLIPテキストエンコーダーモデルを組み合わせるための高度なモデル統合ノードです。
2+
13
このノードは、指定された比率に基づいて2つのCLIPモデルを統合し、それらの特性を効果的にブレンドします。位置IDやロジットスケールなどの特定のコンポーネントを除外し、一方のモデルからもう一方のモデルにパッチを選択的に適用することで、両方のソースモデルの特徴を組み合わせたハイブリッドモデルを作成します。
24

35
## 入力
46

57
| パラメータ | データ型 | 説明 |
68
|-----------|-------------|-------------|
7-
| `clip1` | `CLIP` | 統合される最初のCLIPモデルです。統合プロセスのベースモデルとして機能します。 |
8-
| `clip2` | `CLIP` | 統合される2番目のCLIPモデルです。位置IDやロジットスケールを除く主要なパッチが、指定された比率に基づいて最初のモデルに適用されます。 |
9-
| `ratio` | `FLOAT` | 2番目のモデルの特徴を最初のモデルにどの程度ブレンドするかを決定します。比率が1.0の場合、2番目のモデルの特徴を完全に採用し、0.0の場合は最初のモデルの特徴のみを保持します。 |
9+
| clip1 | CLIP | 統合される最初のCLIPモデルです。統合プロセスのベースモデルとして機能します。 |
10+
| clip2 | CLIP | 統合される2番目のCLIPモデルです。位置IDやロジットスケールを除く主要なパッチが、指定された比率に基づいて最初のモデルに適用されます。 |
11+
| 比率 | FLOAT | 範囲 `0.0 - 1.0`2番目のモデルの特徴を最初のモデルにどの程度ブレンドするかを決定します。比率が1.0の場合、2番目のモデルの特徴を完全に採用し、0.0の場合は最初のモデルの特徴のみを保持します。 |
1012

1113
## 出力
1214

1315
| パラメータ | データ型 | 説明 |
1416
|-----------|-------------|-------------|
15-
| `clip` | CLIP | 指定された比率に従って、両方の入力モデルの特徴を組み込んだ結果の統合CLIPモデルです。 |
17+
| clip | CLIP | 指定された比率に従って、両方の入力モデルの特徴を組み込んだ結果の統合CLIPモデルです。 |
18+
19+
## 統合メカニズムの説明
20+
21+
### 統合アルゴリズム
22+
23+
このノードは、2つのモデルを統合するために重み付け平均を使用します:
24+
25+
1. **ベースモデルのクローン**: まずclip1をベースモデルとしてクローンします
26+
2. **パッチの取得**: clip2からすべての主要なパッチを取得します
27+
3. **特殊キーのフィルタリング**: `.position_ids``.logit_scale`で終わるキーをスキップします
28+
4. **重み付け統合の適用**: `(1.0 - 比率) * clip1 + 比率 * clip2`の式を使用します
29+
30+
### 比率パラメータの説明
31+
32+
- **比率 = 0.0**: clip1を完全に使用し、clip2を無視します
33+
- **比率 = 0.5**: 各モデルから50%の寄与
34+
- **比率 = 1.0**: clip2を完全に使用し、clip1を無視します
35+
36+
## 使用例
37+
38+
1. **モデルスタイルの融合**: 異なるデータで訓練されたCLIPモデルの特徴を組み合わせる
39+
2. **パフォーマンスの最適化**: 異なるモデルの長所と短所のバランスを取る
40+
3. **実験的研究**: 異なるCLIPエンコーダーの組み合わせを探る
Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,40 @@
1+
`CLIP 병합 (단순)`은 지정된 비율에 따라 두 개의 CLIP 텍스트 인코더 모델을 결합하는 고급 모델 병합 노드입니다.
2+
13
이 노드는 지정된 비율에 따라 두 개의 CLIP 모델을 병합하여 그들의 특성을 효과적으로 혼합합니다. 위치 ID와 로그 스케일과 같은 특정 구성 요소를 제외하고 한 모델에서 다른 모델로 패치를 선택적으로 적용하여 두 소스 모델의 기능을 결합한 하이브리드 모델을 만듭니다.
24

35
## 입력
46

5-
| パラメータ | 데이터 유형 | 説明 |
7+
| 매개변수 | 데이터 유형 | 설명 |
68
|-----------|-------------|-------------|
7-
| `clip1` | `CLIP` | 병합될 첫 번째 CLIP 모델입니다. 병합 과정의 기본 모델로 사용됩니다. |
8-
| `clip2` | `CLIP` | 병합될 두 번째 CLIP 모델입니다. 위치 ID와 로그 스케일을 제외한 주요 패치가 지정된 비율에 따라 첫 번째 모델에 적용됩니다. |
9-
| `ratio` | `FLOAT` | 두 번째 모델의 기능을 첫 번째 모델에 혼합할 비율을 결정합니다. 비율이 1.0이면 두 번째 모델의 기능을 완전히 채택하고, 0.0이면 첫 번째 모델의 기능만 유지합니다. |
9+
| CLIP1 | CLIP | 병합될 첫 번째 CLIP 모델입니다. 병합 과정의 기본 모델로 사용됩니다. |
10+
| CLIP2 | CLIP | 병합될 두 번째 CLIP 모델입니다. 위치 ID와 로그 스케일을 제외한 주요 패치가 지정된 비율에 따라 첫 번째 모델에 적용됩니다. |
11+
| 비율 | FLOAT | 범위 `0.0 - 1.0`, 두 번째 모델의 기능을 첫 번째 모델에 혼합할 비율을 결정합니다. 비율이 1.0이면 두 번째 모델의 기능을 완전히 채택하고, 0.0이면 첫 번째 모델의 기능만 유지합니다. |
1012

1113
## 출력
1214

13-
| パラメータ | 데이터 유형 | 説明 |
15+
| 매개변수 | 데이터 유형 | 설명 |
1416
|-----------|-------------|-------------|
15-
| `clip` | CLIP | 지정된 비율에 따라 두 입력 모델의 기능을 통합한 결과 병합된 CLIP 모델입니다. |
17+
| clip | CLIP | 지정된 비율에 따라 두 입력 모델의 기능을 통합한 결과 병합된 CLIP 모델입니다. |
18+
19+
## 병합 메커니즘 설명
20+
21+
### 병합 알고리즘
22+
23+
이 노드는 두 모델을 병합하기 위해 가중 평균을 사용합니다:
24+
25+
1. **기본 모델 복제**: 먼저 CLIP1을 기본 모델로 복제합니다
26+
2. **패치 획득**: CLIP2에서 모든 주요 패치를 획득합니다
27+
3. **특수 키 필터링**: `.position_ids``.logit_scale`로 끝나는 키를 건너뜁니다
28+
4. **가중 병합 적용**: `(1.0 - 비율) * CLIP1 + 비율 * CLIP2` 공식을 사용합니다
29+
30+
### 비율 매개변수 설명
31+
32+
- **비율 = 0.0**: CLIP1을 완전히 사용하고 CLIP2를 무시합니다
33+
- **비율 = 0.5**: 각 모델에서 50%의 기여도
34+
- **비율 = 1.0**: CLIP2를 완전히 사용하고 CLIP1을 무시합니다
35+
36+
## 사용 사례
37+
38+
1. **모델 스타일 융합**: 서로 다른 데이터로 학습된 CLIP 모델의 특성 결합
39+
2. **성능 최적화**: 서로 다른 모델의 장단점 균형 조정
40+
3. **실험적 연구**: 다양한 CLIP 인코더의 조합 탐색

0 commit comments

Comments
 (0)