fireballoon
commited on
Commit
•
ab2507a
1
Parent(s):
a3b3b14
Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,131 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
language:
|
3 |
+
- zh
|
4 |
+
- en
|
5 |
+
pipeline_tag: text-generation
|
6 |
+
inference: false
|
7 |
+
datasets:
|
8 |
+
- anon8231489123/ShareGPT_Vicuna_unfiltered
|
9 |
+
- QingyiSi/Alpaca-CoT
|
10 |
+
- mhhmm/leetcode-solutions-python
|
11 |
+
---
|
12 |
+
|
13 |
+
# baichuan-vicuna-chinese-7b-gptq
|
14 |
+
|
15 |
+
使用[AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ)量化的[baichuan-vicuna-chinese-7b](https://huggingface.co/fireballoon/baichuan-vicuna-chinese-7b)。使用7G显存实现模型推理。
|
16 |
+
|
17 |
+
|
18 |
+
[baichuan-vicuna-chinese-7b](https://huggingface.co/fireballoon/baichuan-vicuna-chinese-7b) quantized with [AutoGPTQ](https://github.com/PanQiWei/AutoGPTQ).
|
19 |
+
|
20 |
+
# Quantize config
|
21 |
+
```
|
22 |
+
{
|
23 |
+
"bits": 4,
|
24 |
+
"group_size": 128,
|
25 |
+
"damp_percent": 0.01,
|
26 |
+
"desc_act": true,
|
27 |
+
"sym": true,
|
28 |
+
"true_sequential": true,
|
29 |
+
"model_name_or_path": null,
|
30 |
+
"model_file_base_name": null
|
31 |
+
}
|
32 |
+
```
|
33 |
+
|
34 |
+
# Inference
|
35 |
+
|
36 |
+
```ipython
|
37 |
+
>>> from transformers import AutoTokenizer, TextStreamer
|
38 |
+
>>> from auto_gptq import AutoGPTQForCausalLM
|
39 |
+
>>> tokenizer = AutoTokenizer.from_pretrained("fireballoon/baichuan-vicuna-chinese-7b-gptq", use_fast=False)
|
40 |
+
>>> model = AutoGPTQForCausalLM.from_pretrained("fireballoon/baichuan-vicuna-chinese-7b-gptq").cuda()
|
41 |
+
>>> streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
|
42 |
+
>>> instruction = "A chat between a curious user and an artificial intelligence assistant. The assistant gives helpful, detailed, and polite answers to the user's questions. USER: {} ASSISTANT:"
|
43 |
+
>>> prompt = instruction.format("How can I improve my time management skills?") # user message
|
44 |
+
>>> generate_ids = model.generate(input_ids=tokenizer(prompt, return_tensors='pt').input_ids.cuda(), max_new_tokens=2048, streamer=streamer)
|
45 |
+
'''
|
46 |
+
To improve your time management skills, you should first identify your priorities and set goals for each day. Then, create a schedule that allows you to allocate time to each task. Finally, prioritize your tasks and stick to your schedule.
|
47 |
+
'''
|
48 |
+
```
|
49 |
+
|
50 |
+
# Test cases on [Ziya-Eval-Chinese](https://huggingface.co/datasets/IDEA-CCNL/Ziya-Eval-Chinese)
|
51 |
+
|
52 |
+
```
|
53 |
+
Q: 小明有200元,买书花了66元,买文具花了12元,小明剩下的钱比原来少了多少元?
|
54 |
+
A: 小明剩下的钱比原来少了66+12=78元。
|
55 |
+
|
56 |
+
Q: 请翻译这段英文:Timmy was fined a large sum of money by the judge for drunken driving·
|
57 |
+
A: Timmy因醉驾被法官处以巨额罚款。
|
58 |
+
|
59 |
+
Q: 贝多芬和柴可夫斯基在风格上有什么差异吗
|
60 |
+
A: 贝多芬和柴可夫斯基都是古典音乐作曲家,但他们的风格在某些方面存在差异。贝多芬以其严肃、庄重、深沉的音乐风格而闻名,他的音乐常常具有内省和情感深度。柴可夫斯基则以其华丽、优雅、精致的音乐风格而闻名,他的音乐常常具有戏剧性和情感深度。贝多芬的音乐通常被描述为古典主义音乐,而柴可夫斯基的音乐则常常被描述为浪漫主义音乐。总的来说,贝多芬的音乐更具内省和情感深度,而柴可夫斯基的音乐则更具华丽和精致。
|
61 |
+
```
|
62 |
+
|
63 |
+
```
|
64 |
+
Q: 写一篇高中青涩的爱情故事,男主是“我”,女主叫小美。我在高一喜欢上了小美。 开始写吧
|
65 |
+
|
66 |
+
A: 我和我的女朋友小美是在高一的时候认识的。那是一个阳光明媚的午后,我正在教室里看书,突然听到有人喊我的名字。我转过头,看到小美站在我的面前,微笑着看着我。那一刻,我感觉整个世界都停止了,所有的目光都聚集在我和小美身上。
|
67 |
+
|
68 |
+
从那天起,我就开始关注小美。我发现她喜欢看漫画,我就买了很多漫画书送给她;我发现她喜欢听音乐,我就经常带她去听音乐会。我们经常一起去图书馆,一起去操场散步,一起去吃路边摊。
|
69 |
+
|
70 |
+
随着我们的关系越来越亲密,我开始意识到自己已经深深地爱上了小美。我每天都会给她写情书,给她送花,给她惊喜。我总是想方设法地逗她开心,让她笑。
|
71 |
+
|
72 |
+
但是小美似乎并不像我一样喜欢我。她经常拒绝我的邀请,对我的感情视而不见。我以为她只是害羞,所以更加努力地对她好,更加频繁地出现在她的面前。
|
73 |
+
|
74 |
+
但是无论我怎么努力,小美似乎都无法看到我的好。我以为她只是需要时间来接受我的感情,所以更加耐心地等待着。
|
75 |
+
|
76 |
+
但是等待并没有带来预期的结果。小美最终向我提出了分手,并拒绝了我的所有请求。我感到震惊和心痛,不知道为什么会这样。
|
77 |
+
|
78 |
+
我以为我们的爱情是坚不可摧的,但是小美却说它不够好。我感到失落和受伤,整整一个星期都没有说话。
|
79 |
+
|
80 |
+
但是随着时间的推移,我开始意识到小美的拒绝并不是我的失败,而是她的失败。我已经尽我所能去爱她,去关心她,但是她可能并不适合我。
|
81 |
+
|
82 |
+
我开始把注意力放在其他事情上,比如学习、运动和社交。我开始交新朋友,参加新的活动,甚至开始了一次新的冒险。
|
83 |
+
|
84 |
+
当我再次回头看时,我发现自己已经不再像以前那样爱小美了。我��经学会了接受她的拒绝,并继续前进。
|
85 |
+
|
86 |
+
我不知道未来会发生什么,但我知道一件事:我已经准备好迎接生活,无论它给我带来什么。
|
87 |
+
```
|
88 |
+
|
89 |
+
```
|
90 |
+
Q: 从零学习编程,请给我一个三个月的学习计划
|
91 |
+
|
92 |
+
A: 当然,这里有一个三个月的编程学习计划:
|
93 |
+
1. 从学习编程的基础知识开始,比如变量和循环。您可以通过阅读在线教程和书籍来完成此操作。
|
94 |
+
2. 接下来,学习编程的基本语法。这将帮助您编写代码并让其运行。
|
95 |
+
3. 一旦您对编程的基本语法有了很好的理解,开始学习编程的基本概念,比如条件语句和方法。
|
96 |
+
4. 接下来,学习编程中使用的不同编程语言,比如Python或Java。
|
97 |
+
5. 最后,通过完成小型项目来应用所学知识。这将帮助您将所学应用到实际问题中。
|
98 |
+
6. 定期练习,并尝试不同的编程语言和技术。
|
99 |
+
7. 不要害怕寻求帮助或向他人寻求反馈。
|
100 |
+
8. 耐心地尝试,不要害怕犯错。
|
101 |
+
9. 定期复习和练习,以巩固您的知识。
|
102 |
+
10. 保持对新技术和编程语言的最新趋势。
|
103 |
+
记住,学习编程是一个过程,需要时间和练习。坚持不懈,保持好奇心,您将成为一名熟练的编程人员。
|
104 |
+
```
|
105 |
+
|
106 |
+
```
|
107 |
+
Q: 实现一个Python函数以使用动态编程查找两个输入字符串的最长公共子序列
|
108 |
+
|
109 |
+
A: 以下是查找两个输入字符串的最长公共子序列的最简Python函数:
|
110 |
+
|
111 |
+
def longest_common_subsets(str1, str2):
|
112 |
+
m, n = len(str1), len(str2)
|
113 |
+
i, j = 0, 0
|
114 |
+
while i < m and j < n:
|
115 |
+
while str1[i] == str2[j]:
|
116 |
+
i += 1
|
117 |
+
j += 1
|
118 |
+
if i < m:
|
119 |
+
j += 1
|
120 |
+
else:
|
121 |
+
break
|
122 |
+
return j - i
|
123 |
+
|
124 |
+
该函数的工作原理是将两个输入字符串的长度 `m` 和 `n` 作为其变量 `i` 和 `j` 的计算代价来初始化。然后,循环开始从 `i` 和 `j` 两个索引开始。
|
125 |
+
|
126 |
+
两个字符串在循环过程中一直被比较,直到 `str1` 字符串中的某个字符不在 `str2` 字符串中。在这种情况下,循环终止,并执行上述操作,从 `i` 更新为输入字符串中较长字符串的索引(上步运行中较短字符串的索引)。
|
127 |
+
|
128 |
+
然后,程序检查当前 `i` 索引是否大于 `m`,如果是,则进行动态编程(循环将继续进行`j`次更新,以便使用最长公共子序列。
|
129 |
+
|
130 |
+
最后,函数返回`j`-`i`,这给出了输入字符串的最长公共子序列的长度,其中长序列长度`j`减去第一个可以访问的最长公共子序列的长度索引`i`。此值始终大于两个输入字符串的长度总和。
|
131 |
+
```
|