IT办公室的故事 2022-18
这段时间帮助解决院里高性能集群HPC中slurm权限和计算性能的问题。集中还夹杂着几个博士生毕业设计所需要的系统资源。
最近几年人工智能和大数据分析成为了比较热门的话题。记得十年前我刚刚开始在学校的工程院工作,那时候的学生还在用Matlab进行数据分析,数据集几乎要在一个个人电脑上面跑半个月;当时和学校申请资金建构一个高性能的运算集群,但是学校说暂时不考虑这种花钱都没有导师能教课的东西。
转眼间来到现在,几乎所有的工程系教授们都要搞一搞大数据分析。这还是像我们这种小小的州立大学。有时候不得不感叹科技变化的速度。
言归正传。
就我个人来说并不知道如何用CUDA在显卡上跑机器学习;在处理完运算节点和大内存节点之后,不知道如何测试显卡节点。
同事说让他跑一跑比特币挖矿得了……
我说还是算了吧。
正巧我在万能的万维网上瞎逛的时候发现了一个叫做Stable Diffusion的Python程序库,是做人工智能绘画的。一段时间前我在家里试着运行的时候发现自己家里的显卡根本带不动。
https://github.com/CompVis/stable-diffusion
于是我突发奇想,用这个程序试验一下显卡节点。
其实是测试过很多人工智能绘画的程序了,大部分是网络平台,这是我第一次在“自己”的系统上面跑。原先测试过的平台可以说基本都是差强人意。画出来的东西感觉根本没法和真人的比较。
不过今年在本市传出来一个有趣的新闻。市里举办的画展中有一幅人工智能画参加比赛,结果还获得了第一名。科技进步了;画家们也可以慢慢地退出人才市场了……
在HPC上先圈定一些资源,开始运行绘画程序:
python scripts/txt2img.py --prompt "the great wall under snow photography, realistic, colorful, vibrant" --plms --n_iter 5 --n_samples 1
每次测试一个人工智能绘画程序我都会选择和长城有关的描述。因为英文里面的长城就是伟大的墙。很多程序都是在墙这个字上除了错。根本没有给我长城,而是一堵墙……
这次试验的描述是“雪下的长城,摄影,真实,多彩,充满活力”。
效果还真不错。
当然,也不是所有编译出来的图像都那么惊艳。比如这张看上去还是像合成的。
作为一个不是研究人工智能的人,我觉得可以怀疑一下系统投机取巧,直接上的照片。于是乎,我换了另一个描述。
看程序的介绍说:要想生成优美的图画,一定要把描述写得详细。让电脑更清楚了了解我们想要画些什么;而且描述的关键在于如果写得不清楚,可能会出现意想不到的结果。可能好、可能坏……
python scripts/txt2img.py --prompt "monkey king fighting jesus christ star war style, art, cinematic, colorful, rich deep colors, sharp focus" --plms --n_iter 5 --n_samples 1
这张基本属于脑洞大开,孙悟空大战耶稣,《星球大战》风格。这次不要照片形式的了,用绘画,电影风格。
没想到的是出现一直拿着《星球大战》光剑的猴子。我和同事都笑了起来。先不说耶稣哪里去了,就是孙悟空拿光剑的位置,估计手指头都被切掉了。
下一张更离谱,也不知道猴子手中拿着什么。不过穿的衣服右点像耶稣时期的了;起码是欧洲人画的耶稣时期的服装。
第一张有星球大战的兵器;第二张有耶稣的衣服。不过两张都是普通的猴子脸。看来程序还没有训练到Monkey King,美猴王就是孙悟空。所以拿了一直猩猩滥竽充数。
估计是我写的描述不是很精准吧;或者算法训练的时候并没有碰到太多的中文中的东西。感觉应该还是描述没有写的太多;估计要想电脑准确地表达出人脑里面镜像,得写一本书出来。
总之,显卡节点没啥问题。
我和同事说笑,还提到了一个需要我们教他如何使用scp和tar的博士生。他要求我们给他一个能够鼠标看图像的系统,因为他觉得他要用显卡运算,所以必须有图形界面。我这凭空造出图像来都没用同行界面。
如果大家有兴趣的话,也可以跑跑这个库,感觉能画出些好画来。