README.md 2.93 KB
Newer Older
mashun1's avatar
toolace  
mashun1 committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
# ToolACE

## 论文

`ToolACE: Winning the Points of LLM Function Calling`

* https://arxiv.org/pdf/2409.00920


## 模型结构

模型LLama3.1训练

![alt text](readme_imgs/arch.png)

## 算法原理
Multi-Head Attention是一种并行注意力机制,它通过多个子空间中的注意力头协同工作,从不同角度捕捉序列中元素之间的关系,从而增强模型的表达能力。

![alt text](readme_imgs/alg.png)

## 环境配置

### Docker(方法一)
    
    docker pull image.sourcefind.cn:5000/dcu/admin/base/pytorch:2.4.1-ubuntu22.04-dtk25.04-py3.10

    docker run --shm-size 100g --network=host --name=toolace --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash

    pip install -U transformers
    pip install accelerate


### Dockerfile(方法二)

    docker build -t <IMAGE_NAME>:<TAG> .

    docker run --shm-size 100g --network=host --name=toolace --privileged --device=/dev/kfd --device=/dev/dri --group-add video --cap-add=SYS_PTRACE --security-opt seccomp=unconfined -v 项目地址(绝对路径):/home/ -v /opt/hyhal:/opt/hyhal:ro -it <your IMAGE ID> bash
    
    pip install -U transformers
    pip install accelerate

### Anaconda(方法三)

1、关于本项目DCU显卡所需的特殊深度学习库可从光合开发者社区下载安装: https://developer.sourcefind.cn/tool/

```
DTK驱动:dtk25.04
python:python3.10
torch:2.4.1
triton:3.0
flash-attn:2.6.1
deepspeed:0.14.2
apex:1.4.0
```

2、其他非特殊库直接按照requirements.txt安装

```
pip install -U transformers
pip install accelerate
```

## 数据集

[ToolACE](https://huggingface.co/datasets/Team-ACE/ToolACE)

本项目提供适用于`llama-factory`的数据格式,位于`datasets/data_1.json`


## 训练

### 安装llama-factory

详情参考[llama-factory](https://developer.sourcefind.cn/codes/OpenDAS/llama-factory/-/tree/0.9.2-parallel_tool).

### Lora

```bash
llamafactory-cli train examples/train_lora/llama3_lora_sft_ds3.yaml
```

在运行前需要修改`examples/train_lora/llama3_lora_sft_ds3.yaml`中相应参数。


## 推理

```bash
python inference.py
```

## result

```python
[sales_growth.calculate(company="XYZ", years=3), financial_ratios interest_coverage(company_name="XYZ", years=3)]
```

注意:结果可能根据参数不同而变化。

### 精度
mashun1's avatar
mashun1 committed
100
训练配置:见训练部分,llama-factory默认参数。
mashun1's avatar
toolace  
mashun1 committed
101

mashun1's avatar
mashun1 committed
102
103
104
105
106
107
数据:本项目提供的数据集。

Loss
|K100AI|L20|
|:---:|:---:|
|0.3|0.3|
mashun1's avatar
toolace  
mashun1 committed
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124

## 应用场景

### 算法类别

`对话问答`

### 热点应用行业

`电商,教育,广媒`

## 预训练权重

[ToolACE-2-Llama-3.1-8B](https://hf-mirror.com/Team-ACE/ToolACE-2-Llama-3.1-8B)

## 源码仓库及问题反馈

mashun1's avatar
mashun1 committed
125
* https://developer.sourcefind.cn/codes/modelzoo/toolace_pytorch
mashun1's avatar
toolace  
mashun1 committed
126
127
128
129

## 参考资料

* https://hf-mirror.com/Team-ACE/ToolACE-2-Llama-3.1-8B