写在前面
在大学的时候,我一直对机器学习、人工智能之类的课程不怎么喜欢。一部分原因是授课老师讲的过于无聊,更重要的原因是ai存在明显的不确定性。当执行一段C语言代码时,再怎么样程序的功能都是可被理解的,你对于一行代码执行后会有什么样的表现拥有基本的预期,尽管存在多线程、内核抢占、编译优化、CPU乱序发射,底层硬件故障等一些不确定性,但你对它们的存在也是了解的,至少可以假装认为自己了解。但ai的执行结果就完全是个谜了,机器学习中的一系列参数的含义完全未知,为什么这个参数比较好,那个参数比较差,本身就很难彻底说明白,因此当时我们都叫搞ai的叫太白金星,整天炼丹调参。
之前的程序都是从原理上,从逻辑上,从结构上仔细地拆分,解决问题;但ai看起来是直接从结果上来解决问题。从一个强大的模型、神经网络开始,尝试解决这个问题并计算结果的准确程度,然后一直往更加准确的方向前进。但这种方式的问题是:即使ai对一个问题的准确度一直是100%,也无法确保下一次同类型问题同样正确,虽然非ai方法也不一定真的能保证完全正确,但由于对“底层原理”的偏执, 我还是更加喜欢非ai的范式,猜字谜”的行为模式本身并不能说服我。
但在2026年的这个时刻,不得不承认的事实就是:ai一定会改变世界!之前使用chatgpt、qwen等一些对话模型时,虽然能感觉到ai很强大,但没有那种惊叹的感觉(我好像非常喜欢用感觉这两个字)。直到我使用cursor生成前后端页面,我本来只是随便写一个简短的提示词试一试,后续再研究研究如何修改,毕竟在大学的时候我还是用过一段时间的vue,没想到它生成代码后就能执行运行,而且结果完全符合我的预期,这个时刻我就知道,我过几年就要被ai取代掉了,至少过几年后,我就完全不需要自己写代码了,是不是所有人到头来都是提示词工程师?最近的几个月, 我已经不怎么自己写代码了, 都是让ai生成后直接用(实际上没怎么review),这也带来很大的不确定性,但目前看起来没出什么问题,所以整个系统就是建立在不确定性之上的? 我从之前的如何写好一段代码变成了如何写好一段提示词,希望我后面能学会如何review一段ai代码,完全放飞也不太好(#^.^#)
计算机领域好像只有ai可以称得上改变世界,如果说“SSD改变了世界!存储改变了世界!Linux改变了世界!”都有点违和,但ai
与一个伟大的技术挂钩
与改变世界的技术挂钩
黑客
伦理
与人类的区别
冯洛伊曼架构
绝对正确的无聊
ai味
推荐阅读/观看
莱姆狂想曲—泥人十四
时空奇旅
机器人之梦(封面)
ps:使用小写的ai感觉更加亲切,随和,大写的AI就更加刻板,严肃,官方。一个小发现~
初见
RAG、提示词工程、上下文工程、token、mcp、fuction call、skills、ai agent、agi、训练与推理、asi等一些花里胡哨的词汇
上下文压缩与遗忘
第一步:购买云服务器部署一个模型进行一次对话
购买 ecs.gn6v-c8g1.4xlarge实例,选择Alibaba Cloud Linux 3.2104 LTS 64位 预装NVIDIA GPU驱动和 CUDA,配置密钥对后通过vscode远程登录
安装依赖包
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| [root@iZbp1bzvlb6th4j2vwt9taZ ~] Python 3.11.13
python -m venv qwen-env source qwen-env/bin/activate
pip install --upgrade pip
pip install torch torchvision torchaudio \ --index-url https://mirrors.aliyun.com/pytorch-wheels/cu121/ \ --extra-index-url https://mirrors.aliyun.com/pypi/simple/ \ --trusted-host mirrors.aliyun.com
pip install transformers accelerate bitsandbytes sentencepiece \ --index-url https://mirrors.aliyun.com/pypi/simple/ \ --trusted-host mirrors.aliyun.com
|
运行demo
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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
| """ Qwen2.5-7B-Instruct 4-bit 量化推理示例(完整注释版) 功能:加载通义千问 7B 指令微调模型,进行一次对话生成 适用环境:Linux + CUDA + 双 Tesla V100(16GB×2) """
from transformers import ( AutoTokenizer, AutoModelForCausalLM, BitsAndBytesConfig )
import torch
model_id = "Qwen/Qwen2.5-7B-Instruct"
quantization_config = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_compute_dtype=torch.bfloat16 )
tokenizer = AutoTokenizer.from_pretrained( model_id, trust_remote_code=True )
model = AutoModelForCausalLM.from_pretrained( model_id, quantization_config=quantization_config, device_map="auto", trust_remote_code=True )
messages = [ {"role": "system", "content": "You are a helpful assistant."}, {"role": "user", "content": "你好!请介绍一下你自己。"} ]
text = tokenizer.apply_chat_template( messages, tokenize=False, add_generation_prompt=True )
inputs = tokenizer(text, return_tensors="pt")
inputs = inputs.to(model.device)
outputs = model.generate( **inputs, max_new_tokens=512, do_sample=True, temperature=0.7, top_p=0.9 )
response_ids = outputs[0][inputs.input_ids.shape[-1]:]
response_text = tokenizer.decode(response_ids, skip_special_tokens=True)
print(response_text)
|
第一次运行需要下载模型
1 2 3 4 5 6 7 8
| pip install hf-transfer
export HF_ENDPOINT=https://hf-mirror.com export HF_HUB_ENABLE_HF_TRANSFER=1
python hello.py
|