Commit
·
c06549a
1
Parent(s):
0f30f36
Upload 11 files
Browse files- config.json +5 -25
- modeling_InternLM.py +4 -0
- modeling_InternLM_XComposer.py +9 -4
- modeling_vit.py +13 -13
- tokenizer.model +3 -0
config.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
| 1 |
{
|
| 2 |
-
"_name_or_path": "
|
| 3 |
"architectures": [
|
| 4 |
"InternLMXComposerForCausalLM"
|
| 5 |
],
|
|
@@ -17,29 +17,9 @@
|
|
| 17 |
"initializer_range": 0.02,
|
| 18 |
"intermediate_size": 11008,
|
| 19 |
"intern_converted_llm": true,
|
| 20 |
-
"internlm_lora":
|
| 21 |
-
"freeze": false,
|
| 22 |
-
"learn_param": [
|
| 23 |
-
"q",
|
| 24 |
-
"v",
|
| 25 |
-
"ffn"
|
| 26 |
-
],
|
| 27 |
-
"lora_alpha": 256,
|
| 28 |
-
"lora_dropout": 0.05,
|
| 29 |
-
"lora_r": 256
|
| 30 |
-
},
|
| 31 |
"kqvo_bias": true,
|
| 32 |
-
"lora_cfg":
|
| 33 |
-
"freeze": false,
|
| 34 |
-
"learn_param": [
|
| 35 |
-
"q",
|
| 36 |
-
"v",
|
| 37 |
-
"ffn"
|
| 38 |
-
],
|
| 39 |
-
"lora_alpha": 256,
|
| 40 |
-
"lora_dropout": 0.05,
|
| 41 |
-
"lora_r": 256
|
| 42 |
-
},
|
| 43 |
"max_position_embeddings": 2048,
|
| 44 |
"model_type": "InternLMXComposer",
|
| 45 |
"num_attention_heads": 32,
|
|
@@ -49,8 +29,8 @@
|
|
| 49 |
"pad_token_id": -1,
|
| 50 |
"rms_norm_eps": 1e-05,
|
| 51 |
"tie_word_embeddings": false,
|
| 52 |
-
"torch_dtype": "
|
| 53 |
-
"transformers_version": "4.
|
| 54 |
"use_cache": true,
|
| 55 |
"vocab_size": 103168
|
| 56 |
}
|
|
|
|
| 1 |
{
|
| 2 |
+
"_name_or_path": "/mnt/petrelfs/share_data/dongxiaoyi/share_models/chat_merge/",
|
| 3 |
"architectures": [
|
| 4 |
"InternLMXComposerForCausalLM"
|
| 5 |
],
|
|
|
|
| 17 |
"initializer_range": 0.02,
|
| 18 |
"intermediate_size": 11008,
|
| 19 |
"intern_converted_llm": true,
|
| 20 |
+
"internlm_lora": null,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
"kqvo_bias": true,
|
| 22 |
+
"lora_cfg": null,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 23 |
"max_position_embeddings": 2048,
|
| 24 |
"model_type": "InternLMXComposer",
|
| 25 |
"num_attention_heads": 32,
|
|
|
|
| 29 |
"pad_token_id": -1,
|
| 30 |
"rms_norm_eps": 1e-05,
|
| 31 |
"tie_word_embeddings": false,
|
| 32 |
+
"torch_dtype": "float16",
|
| 33 |
+
"transformers_version": "4.33.1",
|
| 34 |
"use_cache": true,
|
| 35 |
"vocab_size": 103168
|
| 36 |
}
|
modeling_InternLM.py
CHANGED
|
@@ -6,6 +6,8 @@ import torch
|
|
| 6 |
import torch.utils.checkpoint
|
| 7 |
import torch.utils.checkpoint
|
| 8 |
from einops import rearrange
|
|
|
|
|
|
|
| 9 |
from torch import nn
|
| 10 |
from torch.nn import CrossEntropyLoss
|
| 11 |
from transformers.activations import ACT2FN
|
|
@@ -22,6 +24,8 @@ _CONFIG_FOR_DOC = "InternLMXComposerConfig"
|
|
| 22 |
|
| 23 |
|
| 24 |
def rotary_embed(x1, x2, cos, sin, conj):
|
|
|
|
|
|
|
| 25 |
x1, x2 = x1.float(), x2.float()
|
| 26 |
if conj:
|
| 27 |
x1, x2 = x1 * cos + x2 * sin, x1 * sin + x2 * cos
|
|
|
|
| 6 |
import torch.utils.checkpoint
|
| 7 |
import torch.utils.checkpoint
|
| 8 |
from einops import rearrange
|
| 9 |
+
#import rotary_emb
|
| 10 |
+
#from flash_attn.layers.rotary import ApplyRotaryEmbQKV_ as LegacyApplyRotaryEmbQKV_
|
| 11 |
from torch import nn
|
| 12 |
from torch.nn import CrossEntropyLoss
|
| 13 |
from transformers.activations import ACT2FN
|
|
|
|
| 24 |
|
| 25 |
|
| 26 |
def rotary_embed(x1, x2, cos, sin, conj):
|
| 27 |
+
# print(x1.shape, x2.shape, cos.shape, sin.shape)
|
| 28 |
+
#[5, 1, 32, 64] [1, 1, 64]
|
| 29 |
x1, x2 = x1.float(), x2.float()
|
| 30 |
if conj:
|
| 31 |
x1, x2 = x1 * cos + x2 * sin, x1 * sin + x2 * cos
|
modeling_InternLM_XComposer.py
CHANGED
|
@@ -95,13 +95,15 @@ class InternLMXComposerForCausalLM(PreTrainedModel):
|
|
| 95 |
|
| 96 |
@property
|
| 97 |
def eoh(self):
|
| 98 |
-
return self.tokenizer.decode(torch.Tensor([103027]),
|
| 99 |
-
|
|
|
|
| 100 |
|
| 101 |
@property
|
| 102 |
def eoa(self):
|
| 103 |
-
return self.tokenizer.decode(torch.Tensor([103028]),
|
| 104 |
-
|
|
|
|
| 105 |
|
| 106 |
def maybe_autocast(self, dtype=torch.float16):
|
| 107 |
# if on cpu, don't use autocast
|
|
@@ -194,6 +196,9 @@ class InternLMXComposerForCausalLM(PreTrainedModel):
|
|
| 194 |
new_kargs = copy.deepcopy(self.gen_config)
|
| 195 |
new_kargs.update(kwargs)
|
| 196 |
return new_kargs
|
|
|
|
|
|
|
|
|
|
| 197 |
|
| 198 |
def generate(self, text, image=None, **kwargs):
|
| 199 |
text_embeds = self.encode_text(text)
|
|
|
|
| 95 |
|
| 96 |
@property
|
| 97 |
def eoh(self):
|
| 98 |
+
#return self.tokenizer.decode(torch.Tensor([103027]),
|
| 99 |
+
# skip_special_tokens=True)
|
| 100 |
+
return '<TOKENS_UNUSED_0>'
|
| 101 |
|
| 102 |
@property
|
| 103 |
def eoa(self):
|
| 104 |
+
#return self.tokenizer.decode(torch.Tensor([103028]),
|
| 105 |
+
# skip_special_tokens=True)
|
| 106 |
+
return '<TOKENS_UNUSED_1>'
|
| 107 |
|
| 108 |
def maybe_autocast(self, dtype=torch.float16):
|
| 109 |
# if on cpu, don't use autocast
|
|
|
|
| 196 |
new_kargs = copy.deepcopy(self.gen_config)
|
| 197 |
new_kargs.update(kwargs)
|
| 198 |
return new_kargs
|
| 199 |
+
|
| 200 |
+
def forward(self, **kwargs):
|
| 201 |
+
return self.internlm_model(**kwargs)
|
| 202 |
|
| 203 |
def generate(self, text, image=None, **kwargs):
|
| 204 |
text_embeds = self.encode_text(text)
|
modeling_vit.py
CHANGED
|
@@ -368,13 +368,13 @@ class VisionTransformer(nn.Module):
|
|
| 368 |
window_size=self.patch_embed.patch_shape
|
| 369 |
if use_rel_pos_bias else None) for i in range(depth)
|
| 370 |
])
|
| 371 |
-
|
| 372 |
-
|
| 373 |
-
|
| 374 |
-
|
| 375 |
-
|
| 376 |
-
|
| 377 |
-
|
| 378 |
def fix_init_weight(self):
|
| 379 |
def rescale(param, layer_id):
|
| 380 |
param.div_(math.sqrt(2.0 * layer_id))
|
|
@@ -518,12 +518,12 @@ def create_eva_vit_g(img_size=224,
|
|
| 518 |
norm_layer=partial(nn.LayerNorm, eps=1e-6),
|
| 519 |
use_checkpoint=use_checkpoint,
|
| 520 |
)
|
| 521 |
-
|
| 522 |
-
|
| 523 |
-
|
| 524 |
-
|
| 525 |
-
|
| 526 |
-
|
| 527 |
|
| 528 |
if precision == "fp16":
|
| 529 |
convert_weights_to_fp16(model)
|
|
|
|
| 368 |
window_size=self.patch_embed.patch_shape
|
| 369 |
if use_rel_pos_bias else None) for i in range(depth)
|
| 370 |
])
|
| 371 |
+
'''
|
| 372 |
+
if self.pos_embed is not None:
|
| 373 |
+
trunc_normal_(self.pos_embed, std=.02)
|
| 374 |
+
trunc_normal_(self.cls_token, std=.02)
|
| 375 |
+
self.apply(self._init_weights)
|
| 376 |
+
self.fix_init_weight()
|
| 377 |
+
'''
|
| 378 |
def fix_init_weight(self):
|
| 379 |
def rescale(param, layer_id):
|
| 380 |
param.div_(math.sqrt(2.0 * layer_id))
|
|
|
|
| 518 |
norm_layer=partial(nn.LayerNorm, eps=1e-6),
|
| 519 |
use_checkpoint=use_checkpoint,
|
| 520 |
)
|
| 521 |
+
url = "https://storage.googleapis.com/sfr-vision-language-research/LAVIS/models/BLIP2/eva_vit_g.pth"
|
| 522 |
+
cached_file = download_cached_file(url, check_hash=False, progress=True)
|
| 523 |
+
state_dict = torch.load(cached_file, map_location="cpu")
|
| 524 |
+
interpolate_pos_embed(model, state_dict)
|
| 525 |
+
|
| 526 |
+
incompatible_keys = model.load_state_dict(state_dict, strict=False)
|
| 527 |
|
| 528 |
if precision == "fp16":
|
| 529 |
convert_weights_to_fp16(model)
|
tokenizer.model
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:21ff673031fd4187f19721a86af4caa6a4deb1f3c2db284f763de3e53bd8f741
|
| 3 |
+
size 1658715
|