OpenAI前技术负责人Andrej Karpathy有好几个收藏量非常高的AI项目。其中一个叫llama3.c,就是下面这个,本质上就是将原来需要很多python代码才能实现的Llama2的推理,精简成只需要700行的c语言版本。 可以说相比起几十亿的参数量,700行的代码看起来非常的少,但实际上在看完这个repo后,才发现人家这种纯粹是彻底搞懂了GPT这种东西,从头到尾的细节全都明白了。 而对于这种专家,其实不管什么编程语言,其实都只是实现他们心目中想要的效果的工具而已。这个项目其实就是一个铁证,很多人,包括我,都觉得现在绝大多数的深度学习项目,都是基于tensforflow,pytorch之类的库,而这几个库大多都对于Python有最大化的优化,甚至来说Python跟AI已经深度绑定了。而高手则告诉你,语言不重要,重要的是对底层原理的理解程度,因为矩阵的变化,无非就是线性代数用编程语言的实现,python是简单,但并不代表别的语言做不到。我的观点可能更激进一点儿,以后还会涌现更多的「编程语言」,比如有汉语编程,还会有泰语编程,克林贡语编程,甚至还可以东北话编程,川普编程。因为编程语言在未来会变成自然语言,而不是现在的Python,c++,java等等。编程语言被发明出来是为了操作一大堆的0和1,但是实际生活中用到最多的还是自然语言,比如汉语,英语,德语,法语等等。那为什么自然语言不能被用来编程,是因为自然语言高度的歧义性、模糊性和不确定性,缺乏形式化的结构和语法规则,难以通过计算机进行解析和编译。这也是为什么编程语言被发明的必要性:经过严格设计和形式化的语言,具有严谨的语法和语义规则,能够确保程序的正确性和可靠性。一大堆代码实现的数据库操作,增删改查,其实就是字面上的增删改查。那未来会不会再发明编程语言,我相信是会的,但是最终的编程语言我认为只有一个,那就是自然语言。最终就是人类通过自然语言实现各种想要的功能,到时候比拼的是想象力和创造力,而不再是编程能力。当然了,离这个距离还很远,起码得看到强人工智能的苗头才可以。不过未来一定是自然语言主导,当然也不排除脑电波直接控制(:第一个OpenAI的ChatGPT,以及背后的模型GPT4,就openai一个库,就可以帮助一个人完全不懂编程的人去试着开始写一点儿程序。使用也异常简单,就这几行,然后你把“输入你的问题”改成你想问的。
import openai
openai.api_key = '输入你的key'
def use(prompt):
response = openai.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[
{"role": "user", "content": prompt}
]
)
return response['choices'][0]['message']['content']
if __name__ == "__main__":
r = use('输入你的问题')
print(r)
然后你就拥有一个可以帮你数据分析,帮你数据可视化,帮你写程序,帮你写注释,帮你改bug等各种工作的全能助手。所以说,未来可能每个人都是「程序员」,因为不管是用中文还是英文,本质上都是在「编程」,而要我说,程序员是AI时代里面受益最早,同时也是最容易跟AI深度结合的群体。AI可以帮助你编程,但是基本的编程理论,AI大模型的各种技术细节以及如何将AI部署到自己的工作流中,反而是更重要且更需要提前掌握的知识。 第二个,就是meta之前发布的SAM模型,Segment Anything Model,号称可以分割一切图像。 等等的功能,这相当于什么,你只要说出你的需求就可以。当然了,这取决于未来这种辅助工具,或者说强人工智能,至少是苗头的出现才可以。