mirror of
https://github.com/fauxpilot/fauxpilot.git
synced 2025-08-14 10:37:43 -07:00
Support for CodeGen2 (#230)
* add config files, update docs, add codegen2 to setup, small tweaks to converter scripts - JH RJ * Update documentation/server.md --------- Co-authored-by: James Hoekzema <james.hoekzema@wwt.com> Co-authored-by: Fred de Gier <freddegier@me.com>
This commit is contained in:
parent
0183175ce6
commit
acc6746114
18 changed files with 2954 additions and 16 deletions
16
README.md
16
README.md
|
@ -45,13 +45,25 @@ We offer some ways to connect to FauxPilot Server. For example, you can create a
|
|||
|
||||
Please refer to [How to set-up a client](documentation/client.md).
|
||||
|
||||
### Copilot configuration for Fauxpilot
|
||||
|
||||
To run GitHub Copilot with Fauxpilot in VSCode, open the preference settings.json where the IP is the host you want to use (shift+command+p on mac).
|
||||
|
||||
```
|
||||
"github.copilot.advanced": {
|
||||
"model": "fastertransformer",
|
||||
"debug.overrideEngine": "codegen",
|
||||
"debug.testOverrideProxyUrl": "http://<ip-address>:5000",
|
||||
"debug.overrideProxyUrl": "http://<ip-address>:5000"
|
||||
},
|
||||
```
|
||||
|
||||
## Terminology
|
||||
* API: Application Programming Interface
|
||||
* CC: Compute Capability
|
||||
* CUDA: Compute Unified Device Architecture
|
||||
* FT: Faster Transformer
|
||||
* JSON: JavaScript Object Notation
|
||||
* JSON: JavaScript Object Notation
|
||||
* gRPC: Remote Procedure call by Google
|
||||
* GPT-J: A transformer model trained using Ben Wang's Mesh Transformer JAX
|
||||
* GPT-J: A transformer model trained using Ben Wang's Mesh Transformer JAX
|
||||
* REST: REpresentational State Transfer
|
||||
|
|
|
@ -7,16 +7,19 @@ from transformers import GPTJForCausalLM, GPTJConfig
|
|||
from transformers import CodeGenTokenizer, CodeGenForCausalLM # noqa: F401
|
||||
from transformers import CODEGEN_PRETRAINED_MODEL_ARCHIVE_LIST
|
||||
|
||||
CODEGEN_2_LIST = ["Salesforce/codegen2-1B", "Salesforce/codegen2-3_7B", "Salesforce/codegen2-7B", "Salesforce/codegen2-16B"]
|
||||
convertable_models = CODEGEN_PRETRAINED_MODEL_ARCHIVE_LIST + CODEGEN_2_LIST
|
||||
|
||||
parser = argparse.ArgumentParser('Convert SalesForce CodeGen model to GPT-J')
|
||||
parser.add_argument('--code_model',
|
||||
choices=CODEGEN_PRETRAINED_MODEL_ARCHIVE_LIST, default='Salesforce/codegen-350M-multi',
|
||||
choices=convertable_models, default='Salesforce/codegen-350M-multi',
|
||||
help='which SalesForce model to convert'
|
||||
)
|
||||
parser.add_argument('output_dir', help='where to store the converted model')
|
||||
args = parser.parse_args()
|
||||
|
||||
print('Loading CodeGen model')
|
||||
cg_model = CodeGenForCausalLM.from_pretrained(args.code_model, torch_dtype="auto")
|
||||
cg_model = CodeGenForCausalLM.from_pretrained(args.code_model, torch_dtype="auto", trust_remote_code=bool(args.code_model in CODEGEN_2_LIST))
|
||||
cg_config = cg_model.config
|
||||
|
||||
# Create empty GPTJ model
|
||||
|
@ -70,11 +73,20 @@ with torch.no_grad():
|
|||
if 'qkv_proj' in name:
|
||||
qkv_proj = param.detach().clone()
|
||||
mp_num = 4 # number of cores on their TPU I guess?
|
||||
local_dim = embed_dim // mp_num
|
||||
# GPT-J and CodeGen slice up the qkv projection slightly differently.
|
||||
# After a great deal of pain, I figured out that this permutation on
|
||||
# the weights of the qkv_proj fixes it.
|
||||
base_permutation = [0, 3, 6, 9, 1, 4, 7, 10, 2, 5, 8, 11]
|
||||
base_permutation = [0, 3, 6, 9,
|
||||
1, 4, 7, 10,
|
||||
2, 5, 8, 11]
|
||||
if args.code_model in ["Salesforce/codegen2-1B", "Salesforce/codegen2-3_7B"]:
|
||||
# codegen2-1B and codegen2-3_7B were trained on different mp setting
|
||||
# see: https://github.com/fauxpilot/fauxpilot/issues/202
|
||||
base_permutation = [0, 3, 6, 9, 12, 15, 18, 21,
|
||||
1, 4, 7, 10, 13, 16, 19, 22,
|
||||
2, 5, 8, 11, 14, 17, 20, 23]
|
||||
mp_num = 8
|
||||
local_dim = embed_dim // mp_num
|
||||
permutation = torch.cat([torch.arange(i * local_dim, (i + 1) * local_dim) for i in base_permutation])
|
||||
# NB: we permute the *rows* here because the computation is xA.T
|
||||
new_qkv_proj = qkv_proj[permutation, :]
|
||||
|
|
|
@ -123,7 +123,11 @@ def split_and_convert(args):
|
|||
"mlp.dense_4h_to_h.weight",
|
||||
]
|
||||
|
||||
torch.multiprocessing.set_start_method("spawn")
|
||||
try:
|
||||
torch.multiprocessing.set_start_method("spawn")
|
||||
except RuntimeError:
|
||||
pass
|
||||
|
||||
pool = multiprocessing.Pool(args.processes)
|
||||
for name, param in model.named_parameters():
|
||||
if name.find("weight") == -1 and name.find("bias") == -1:
|
||||
|
|
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-16b"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "24"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "24576"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "34"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-16b"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/1-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-16b"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "2"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "24"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "24576"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "34"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-16b"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/2-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-16b"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "4"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "24"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "24576"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "34"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-16b"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/4-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
235
converter/models/codegen2-1B-1gpu/fastertransformer/config.pbtxt
Normal file
235
converter/models/codegen2-1B-1gpu/fastertransformer/config.pbtxt
Normal file
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-1B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "128"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "8192"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-1B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/1-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
235
converter/models/codegen2-1B-2gpu/fastertransformer/config.pbtxt
Normal file
235
converter/models/codegen2-1B-2gpu/fastertransformer/config.pbtxt
Normal file
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-1B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "2"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "128"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "8192"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-1B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/2-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
235
converter/models/codegen2-1B-4gpu/fastertransformer/config.pbtxt
Normal file
235
converter/models/codegen2-1B-4gpu/fastertransformer/config.pbtxt
Normal file
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-1B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "4"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "128"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "8192"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-1B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/4-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-3_7B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "16384"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-3_7B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/1-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-3_7B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "2"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "16384"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-3_7B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/2-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-3_7B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "4"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "16384"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-3_7B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/4-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
235
converter/models/codegen2-7B-1gpu/fastertransformer/config.pbtxt
Normal file
235
converter/models/codegen2-7B-1gpu/fastertransformer/config.pbtxt
Normal file
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-7B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "16384"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "32"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-7B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/1-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
235
converter/models/codegen2-7B-2gpu/fastertransformer/config.pbtxt
Normal file
235
converter/models/codegen2-7B-2gpu/fastertransformer/config.pbtxt
Normal file
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-7B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "2"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "16384"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "32"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-7B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/2-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
235
converter/models/codegen2-7B-4gpu/fastertransformer/config.pbtxt
Normal file
235
converter/models/codegen2-7B-4gpu/fastertransformer/config.pbtxt
Normal file
|
@ -0,0 +1,235 @@
|
|||
name: "fastertransformer"
|
||||
backend: "fastertransformer"
|
||||
default_model_filename: "codegen2-7B"
|
||||
max_batch_size: 1024
|
||||
input [
|
||||
{
|
||||
name: "input_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "start_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "end_id"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "input_lengths"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
},
|
||||
{
|
||||
name: "request_output_len"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "runtime_top_k"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "runtime_top_p"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_search_diversity_rate"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "temperature"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "len_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "repetition_penalty"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "random_seed"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "is_return_log_probs"
|
||||
data_type: TYPE_BOOL
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "beam_width"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ 1 ]
|
||||
reshape: { shape: [ ] }
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "bad_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
},
|
||||
{
|
||||
name: "stop_words_list"
|
||||
data_type: TYPE_INT32
|
||||
dims: [ 2, -1 ]
|
||||
optional: true
|
||||
}
|
||||
]
|
||||
output [
|
||||
{
|
||||
name: "output_ids"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1, -1 ]
|
||||
},
|
||||
{
|
||||
name: "sequence_length"
|
||||
data_type: TYPE_UINT32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "cum_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1 ]
|
||||
},
|
||||
{
|
||||
name: "output_log_probs"
|
||||
data_type: TYPE_FP32
|
||||
dims: [ -1, -1 ]
|
||||
}
|
||||
]
|
||||
instance_group [
|
||||
{
|
||||
count: 1
|
||||
kind: KIND_CPU
|
||||
}
|
||||
]
|
||||
parameters {
|
||||
key: "tensor_para_size"
|
||||
value: {
|
||||
string_value: "4"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "pipeline_para_size"
|
||||
value: {
|
||||
string_value: "1"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "max_seq_len"
|
||||
value: {
|
||||
string_value: "2048"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "is_half"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "head_num"
|
||||
value: {
|
||||
string_value: "16"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "size_per_head"
|
||||
value: {
|
||||
string_value: "256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "inter_size"
|
||||
value: {
|
||||
string_value: "16384"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "vocab_size"
|
||||
value: {
|
||||
string_value: "51200"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "start_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "end_id"
|
||||
value: {
|
||||
string_value: "50256"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "decoder_layers"
|
||||
value: {
|
||||
string_value: "32"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_name"
|
||||
value: {
|
||||
string_value: "codegen2-7B"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "rotary_embedding"
|
||||
value: {
|
||||
string_value: "64"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_type"
|
||||
value: {
|
||||
string_value: "GPT-J"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "model_checkpoint_path"
|
||||
value: {
|
||||
string_value: "/model/fastertransformer/1/4-gpu"
|
||||
}
|
||||
}
|
||||
parameters {
|
||||
key: "enable_custom_all_reduce"
|
||||
value: {
|
||||
string_value: "0"
|
||||
}
|
||||
}
|
|
@ -22,7 +22,7 @@ parser.add_argument('--template', default=CONFIG_TEMPLATE_PATH, help='Path to th
|
|||
parser.add_argument('--model_store', required=True, help='Path to the Triton model store')
|
||||
parser.add_argument('--hf_model_dir', required=True, help='Path to HF model directory')
|
||||
parser.add_argument('--tokenizer', default='Salesforce/codegen-16B-multi', help='Name or path to the tokenizer')
|
||||
parser.add_argument('--rebase', default=None, help='Path to rebase the model store to (e.g. for Docker)')
|
||||
parser.add_argument('--rebase', default='/model', help='Path to rebase the model store to (e.g. for Docker)')
|
||||
parser.add_argument('-n', '--num_gpu', help='Number of GPUs to use', type=int, default=1)
|
||||
args = parser.parse_args()
|
||||
|
||||
|
|
|
@ -1,4 +1,30 @@
|
|||
|
||||
## Dependencies
|
||||
|
||||
When running on a new machine, you will need Docker and the NVIDIA Container Toolkit, below are instruction for Linux, other methods of fulfilling the dependencies are possible:
|
||||
|
||||
```sh
|
||||
echo "\n\nInstalling docker..."
|
||||
#sudo snap install docker
|
||||
curl https://get.docker.com | sh \
|
||||
&& sudo systemctl --now enable docker
|
||||
|
||||
echo "\n\nInstalling docker compose..."
|
||||
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
|
||||
|
||||
echo "\n\nInstalling NVIDIA Container Toolkit..."
|
||||
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
|
||||
&& curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
|
||||
&& curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
|
||||
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
|
||||
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
|
||||
sudo apt-get update
|
||||
sudo apt install -y nvidia-container-toolkit-base
|
||||
sudo nvidia-ctk runtime configure --runtime=docker
|
||||
sudo systemctl restart docker
|
||||
sudo docker run --rm --runtime=nvidia --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi
|
||||
```
|
||||
|
||||
## Setup
|
||||
|
||||
Run the setup script to choose a model to use. This will download the model from [Huggingface/Moyix](https://huggingface.co/Moyix) in GPT-J format and then convert it for use with FasterTransformer.
|
||||
|
|
80
setup.sh
80
setup.sh
|
@ -1,7 +1,7 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [ -f .env ]; then
|
||||
read -rp ".env already exists, do you want to delete .env and recreate it? [y/n] " DELETE
|
||||
read -rp ".env already exists, do you want to delete .env and recreate it? [(y)/n] " DELETE
|
||||
if [[ ${DELETE:-y} =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "Deleting .env"
|
||||
|
@ -112,10 +112,12 @@ function fastertransformer_backend(){
|
|||
curl -L "https://huggingface.co/moyix/${MODEL}-gptj/resolve/main/${MODEL}-${NUM_GPUS}gpu.tar.zst" \
|
||||
-o "$ARCHIVE"
|
||||
zstd -dc "$ARCHIVE" | tar -xf - -C "${MODELS_ROOT_DIR}"
|
||||
FAILED=$?
|
||||
rm -f "$ARCHIVE"
|
||||
else
|
||||
echo "Downloading and converting the model, this will take a while..."
|
||||
docker run --rm -v "${MODELS_ROOT_DIR}":/models -e MODEL=${MODEL} -e NUM_GPUS="${NUM_GPUS}" moyix/model_converter:latest
|
||||
docker run --rm -v "${MODELS_ROOT_DIR}":/models -e MODEL=${MODEL} -e NUM_GPUS="${NUM_GPUS}" moyix/model-converter:latest
|
||||
FAILED=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -168,21 +170,83 @@ function python_backend(){
|
|||
|
||||
python3 ./python_backend/init_model.py --model_name "${MODEL}" --org_name "${ORG}" --model_dir "${MODELS_ROOT_DIR}" --use_int8 "${USE_INT8}"
|
||||
bash -c "source .env ; docker compose build || docker-compose build"
|
||||
FAILED=$?
|
||||
}
|
||||
|
||||
function fastertransformer_2_backend(){
|
||||
echo "Models available:"
|
||||
echo "[1] codegen2-1B (?GB total VRAM required; multi-language)"
|
||||
echo "[2] codegen2-3_7B (?GB total VRAM required; multi-language)"
|
||||
echo "[3] codegen2-7B (?GB total VRAM required; multi-language)"
|
||||
echo "[4] codegen2-16B (?GB total VRAM required; multi-language)"
|
||||
# Read their choice
|
||||
read -rp "Enter your choice [3]: " MODEL_NUM
|
||||
|
||||
# Convert model number to model name
|
||||
case $MODEL_NUM in
|
||||
1) MODEL="codegen2-1B" ;;
|
||||
2) MODEL="codegen2-3_7B" ;;
|
||||
3) MODEL="codegen2-7B" ;;
|
||||
4) MODEL="codegen2-16B" ;;
|
||||
*) MODEL="codegen2-7B" ;;
|
||||
esac
|
||||
|
||||
echo "MODEL=${MODEL}" >> .env
|
||||
echo "MODEL_DIR=${MODELS_ROOT_DIR}/${MODEL}-${NUM_GPUS}gpu" >> .env
|
||||
|
||||
if (test -d "$MODELS_ROOT_DIR"/"${MODEL}"-"${NUM_GPUS}"gpu ); then
|
||||
echo "$MODELS_ROOT_DIR"/"${MODEL}"-"${NUM_GPUS}"gpu
|
||||
echo "Converted model for ${MODEL}-${NUM_GPUS}gpu already exists."
|
||||
read -rp "Do you want to re-use it? y/n: " REUSE_CHOICE
|
||||
if [[ ${REUSE_CHOICE:-y} =~ ^[Yy]$ ]]
|
||||
then
|
||||
DOWNLOAD_MODEL=n
|
||||
echo "Re-using model"
|
||||
else
|
||||
DOWNLOAD_MODEL=y
|
||||
rm -rf "$MODELS_ROOT_DIR"/"${MODEL}"-"${NUM_GPUS}"gpu
|
||||
fi
|
||||
else
|
||||
DOWNLOAD_MODEL=y
|
||||
fi
|
||||
|
||||
if [[ ${DOWNLOAD_MODEL:-y} =~ ^[Yy]$ ]]
|
||||
then
|
||||
echo "Downloading and converting the model, this will take a while..."
|
||||
pushd converter
|
||||
docker build -t local/model-converter .
|
||||
popd
|
||||
docker run --rm -v "${MODELS_ROOT_DIR}":/models -e MODEL=${MODEL} -e NUM_GPUS="${NUM_GPUS}" local/model-converter
|
||||
FAILED=$?
|
||||
fi
|
||||
|
||||
# Not used for this backend but needs to be present
|
||||
HF_CACHE_DIR="$(pwd)/.hf_cache"
|
||||
mkdir -p "$HF_CACHE_DIR"
|
||||
echo "HF_CACHE_DIR=${HF_CACHE_DIR}" >> .env
|
||||
}
|
||||
|
||||
# choose backend
|
||||
echo "Choose your backend:"
|
||||
echo "[1] FasterTransformer backend (faster, but limited models)"
|
||||
echo "[2] Python backend (slower, but more models, and allows loading with int8)"
|
||||
read -rp "Enter your choice [1]: " BACKEND_NUM
|
||||
echo "[1] FasterTransformer backend (CodeGen 1) (faster, but limited models)"
|
||||
echo "[2] Python backend (CodeGen 1) (slower, but more models, and allows loading with int8)"
|
||||
echo "[3] FasterTransformer backend (CodeGen 2) (faster, models support more languages)"
|
||||
read -rp "Enter your choice [3]: " BACKEND_NUM
|
||||
|
||||
if [[ "$BACKEND_NUM" -eq 2 ]]; then
|
||||
if [[ "$BACKEND_NUM" -eq 1 ]]; then
|
||||
fastertransformer_backend
|
||||
elif [[ "$BACKEND_NUM" -eq 2 ]]; then
|
||||
python_backend
|
||||
else
|
||||
fastertransformer_backend
|
||||
fastertransformer_2_backend
|
||||
fi
|
||||
|
||||
read -rp "Config complete, do you want to run FauxPilot? [y/n] " RUN
|
||||
if [[ "$FAILED" -ne 0 ]]; then
|
||||
echo "Error in setting up backend, exiting"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
read -rp "Config complete, do you want to run FauxPilot? [(y)/n] " RUN
|
||||
if [[ ${RUN:-y} =~ ^[Yy]$ ]]
|
||||
then
|
||||
bash ./launch.sh
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue