1.水无常形——开源围棋 AI 软件 KataGo 安装使用指南
2.机器人能治理国家吗?换言之,码分机器人能取代美国总统吗?
3.腾讯T2I-adapter源码分析(1)-运行源码跑训练
水无常形——开源围棋 AI 软件 KataGo 安装使用指南
KataGo是码分一款由David J. Wu开发的围棋软件,它借鉴了DeepMind的码分AlphaGo Zero与AlphaZero论文中的研究,并在训练速度上进行了大幅改进,码分成为目前世界顶级的码分电脑围棋软件之一。其名字来源于日语“かた”,码分时钟代码源码寓意通过强化学习永久训练自己并完成形式的码分人工智能。 KataGo相比AlphaGo的码分优势在于使用方法。用户通过命令行输入指令,码分KataGo以文本形式输出分析结果。码分对于非专业用户来说,码分掌握这些指令较为困难。码分因此,码分需要一个图形用户界面作为中介,码分将用户的码分棋谱转化为命令,将KataGo的输出转化为可视化的棋盘。常见的图形用户界面包括KaTrain等工具。 此外,KataGo提供了四个后端版本供用户选择,分别是OpenCL、CUDA、TensorRT和Eigen。根据不同的硬件配置和需求,用户可以选择最适合的后端版本以优化性能。 在安装KataGo之前,需要确保显卡驱动程序已经安装。对于TensorRT后端,还需要额外安装CUDA和TensorRT。以下是KataGo的安装步骤:前往KataGo的源代码库编译或下载主程序。
下载权重文件,并将其复制到KataGo文件夹中。
使用命令行自动生成配置文件,根据提示设置规则和参数。
对于那些希望简化安装过程的用户,可以尝试使用KaTrain这样的All in One工具。KaTrain提供了一个集成的界面,使得使用KataGo变得更加容易。 如果您希望深入了解KataGo的高级使用方法,可以按照以下步骤进行:在KataGo文件夹中使用命令生成配置文件。
自动生成配置文件时,dx源码根据提示设置规则和参数。
对于自定义配置文件的编辑,您可以按照特定的规则和参数进行修改,以适应您的需求。例如,您可以在规则部分选择特定的规则,调整是否允许认输,以及设置线程数以优化性能。 最后,为了提供更直观的分析结果,您可以使用图形用户界面工具,如Sabaki,与KataGo配合使用。通过设置界面参数,您可以查看胜率图、变化树等信息,以便更好地理解AI的分析结果。 总之,KataGo是一款强大的围棋软件,通过适当的选择后端版本、安装配置文件和使用图形用户界面工具,您可以在不同的硬件环境中优化其性能,从而获得更深入的围棋分析体验。机器人能治理国家吗?换言之,机器人能取代美国总统吗?
机器人家上了解到,前不久马云曾说过未来年后世界上最优秀的CEO可能是机器人。在未来数年,数以百万计的人类工作岗位将被机器人取代。工人、司机和飞行员可能最容易受到影响,而艺术家、演员以及经理人等需要与人类打交道的工作则会继续保持安全。有些工作可能必须由人类继续承担,但对于经理人来说,被取代的危险却越来越高。很快,机器人将取代人类担任高级管理职务,包括首席执行官(CEO)。而这一切将比我们想象的dotnetnuck源码更早到来。
机器人的进化速度比想像更快
网络上有很多文章分析预测,哪些职业不会受到机器人或自动化影响。2年前,公认的安全职业为律师、医生以及金融分析师。然而令人惊讶的是,这些文章的预测已被证明显然是错误的,各种各样的人类工作都在受到自动化的快速侵蚀。
年,在美国国防部高级研究计划局(DARPA)举办的挑战赛上,最好的无人驾驶汽车也仅仅行驶了公里就陷入瘫痪。8年后,谷歌(微博)无人驾驶汽车却独自行驶了近万公里,期间没有发生过任何事故。
年前,全世界都敬畏地看着计算机“深蓝”击败国际象棋世界冠军加里·卡斯帕罗夫(Gary Kasparov)。令人惊奇的是,“深蓝”使用强力计算能力和预定义规则获得了胜利,而非真正的机器智能。与此同时,有人预测电脑可能还需要年时间才能在围棋游戏中击败人类棋手。
可是仅仅几天前,谷歌AlphaGo在五场比赛中击败世界围棋冠军李世石。令人感到震惊的不是计算机成了围棋世界冠军,而是AlphaGo实际上是自学成才的,可以模仿我们所谓的“直觉”。
机器人在无形中崛起
过去很长时间中,人类都以为地球是宇宙的中心。至少我们现在依然存在幻想,认为现代生活中的一切都以人类为中心。但现实是,我们的世界正被机器人优化。
大多数由人类书写的网络内容都需要通过机器的重新设计。你在网络上读到的任何文章都在被优化,谷歌算法通过抓取到足够关键词、相关连接以及短语,以便获得更高的“页面排名”得分。谷歌在网络搜索领域取得的成功证明,在决定何时、msm 源码何地信息才会被最有效地展示时,机器人的表现更好。
在物理世界中,电脑也能比人类做出更好的决定,快餐连锁店已经开始实现自动化。尽管尚没有烙牛肉饼的机器人,但已经有软件帮助制定何人何时工作计划。
员工们可能不喜欢它,但是计算机化的人事决策显然更高效。这是因为人类经理人在查看工作空间时存在限制,而机器人却能一次性监控数百人类产生的数据。更为重要的是,机器人拥有更好的优化能力,软件可以通过云技术轻易扩展到更多岗位。一旦新的调度方法展现出工厂生产力得到改善的效果,新的策略在数秒内就会被数以百计的岗位所复制,并立即实施,不再需要昂贵的培训,也不会有人抵制改变。
令人感到讽刺的是,我们已经达到一个临界点,相比起机器人同事来说,有些人更憎恶人类同事。下次你与自动电话系统对话,并说脏话时,你可能被立即转接回人类操作员,因为他们更擅长处理粗鲁客户。
机器人CEO表现更好
在提到CEO时,你可能想到报酬丰厚的老板坐在巨大玻璃办公室中的红木桌后面,盯着外面成千上万的工人。但现实完全不同,年美国人口普查局公布数据显示,.%的美国企业只有不到名员工。小公司进行董事会投票,用机器人取代工人通过的风险更小,小企业CEO将看到自己的职责和决定被大数据和预测性分析“优化”,无论他们是否喜欢。
企业书籍和管理顾问通常列举CEO的6个代表性功能:决定战略方向、分配资源、pbo源码建立文化、监督和提高公司业绩、代表公司形象以及巧妙应对日常妥协等。对于大多数CEO来说,做出客观的、数字驱动的决策更有利于企业成功。
想像一下,一家小建筑公司的老板想要购买卡车。昨天,这个决策完全是他自己下的。今天,对公司数据的实时分析显示他需要支付多少贷款利息。明天,分析将确定建筑工地的位置以及员工的行程,它甚至监控当地经济趋势。不久后,电脑告诉老板:“我很遗憾,鲍勃,我认为你不该购买卡车。”计算机首先帮助人类变得更高效,然后让人类显得多余。
在分配资源工作方面,计算机也做得更好。计算机不仅可以同时考虑到更多参数,同时其输出是中性且可不断重复的。这令其决策更难受到质疑。对于那些害怕承担法律风险的企业主来说,算法管理是最终解决方案:歧视诉讼最终只需审核软件源代码。软件还可为非技术性企业主带来优化好处。承包商无需掌握熟练的线性规划能力,就可以选择哪个项目更合适。
计算机不仅比人类更聪明,它们也可以考虑到人类忽略的因素,进而做出更好的决策。举例来说,Waze可以向你显示最好的路径,即使在日常通勤中,因为它知道几公里外是否出现交通拥堵。
投资者和股东最终可能推动算法管理成为主流。不仅因为这种管理方式更高效,而且可预防徇私舞弊、挪用贪污等行为。办公室政治很快将变得无关紧要,机器人可以确保其决策总是与董事会的战略相一致。随着数据驱动的决策从资源分配到绩效衡量,最终到日常管理任务,人类高管的决策主要转向“为什么”,而非“如何”。
有些创新公司甚至已经没有中心领导层,就连企业文化都由明确的规则和激励机制代替,而不再基于CEO的个人理念。Valve Software没有经理人或老板,简短的员工手册奠定了企业文化,比如“任何人无需向其他人报告”,“我们有创始人/总裁,但他不是经理人。”
瑞典咨询公司Crisp大约有人组成,但他们都不是真正的“员工”,也没有经理人或CEO。决策通常由集体做出,而非依赖某些经理人去分配任务。当有新任务出现时,Crisp会开发自己的协议详细确定责任链。
留给人类CEO的任务将是传递公司福音。换句话说,CEO将成为最重要的讲故事者。公司将向国家那样,所有决策遵循“国会”的协定,国家总统则成了新闻秘书。
工作区分散将加速转型
大型集中化的办公室和生产设施需要经理人的仔细规划,这种情况在过去年间发生了巨大变化。物理集中变得不再重要,大公司和办公室正被独立承包商的Ad-Hoc(点对点)模式网络所取代。
随着软件公司的重要性日益增加,企业影响与其规模不再息息相关。被Facebook斥资亿美元收购的WhatsApp如今已经是世界上最大通信应用,而被收购时它刚创建5年时间,仅有名员工。AirBnB如今是世界上最大的酒店公司,但其却没有任何酒店房间甚至清洁员工。机器人经理特别适合这类新型企业,因为它们可以立即适应和发展这些企业。
准备好应对机器人老板吗?
如今,每天都有数以亿计的人遵循着软件设定的程序或指令工作。我们可能不会称这些指令为“命令”,但大数据和分析驱动公司上层决策的时代即将来临。一个机器人已经开始锻炼“直接管理控制”能力,包括对万名工人进行绩效评估,它就是打车应用Uber的自动化管理系统。
糟糕的消息是,与现任老板比起来,你的下个老板可能更缺少同情心。好消息是,它将不再有任何针对你个人的无理举动。
腾讯T2I-adapter源码分析(1)-运行源码跑训练
稳定扩散、midjourney等AI绘图技术,为人们带来了令人惊叹的效果,不禁让人感叹技术发展的日新月异。然而,AI绘图的可控性一直不是很好,通过prompt描述词来操控图像很难做到随心所欲。为了使AI绘制的图像更具可控性,Controlnet、T2I-adapter等技术应运而生。本系列文章将从T2I-adapter的源码出发,分析其实现方法。
本篇是第一篇,主要介绍源码的运行方法,后续两篇将以深度图为例,分别分析推理部分和训练部分的代码。分析T2I-Adapter,也是为了继续研究我一直在研究的课题:“AI生成同一人物不同动作”,例如:罗培羽:stable-diffusion生成同一人物不同动作的尝试(多姿势图),Controlnet、T2I-adapter给了我一些灵感,后续将进行尝试。
T2I-Adapter论文地址如下,它与controlnet类似,都是在原模型增加一个旁路,然后对推理结果求和。
T2I-Adapter和controlnet有两个主要的不同点,从图中可见,其一是在unet的编码阶段增加参数,而controlnet主要是解码阶段;其二是controlnet复制unit的上半部结构,而T2I-Adapter使用不同的模型结构。由于采用较小的模型,因此T2I-Adapter的模型较小,默认下占用M左右,而controlnet模型一般要5G空间。
首先确保机器上装有3.6版本以上python,然后把代码clone下来。随后安装依赖项,打开requirements.txt,可以看到依赖项的内容。然后下载示例,下载的会放到examples目录下。接着下载sd模型到model目录下,再下载T2I-Adapter的模型到目录下,模型可以按需到huggingface.co/TencentA...下载。这里我下载了depth和openpose。sd模型除了上述的v1-5,也还下载了sd-v1-4.ckpt。
根据文档,尝试运行一个由深度图生成的例子,下图的左侧是深度图,提示语是"desk, best quality, extremely detailed",右侧是生成出来的。运行过程比较艰辛,一开始在一台8G显存的服务器上跑,显存不够;重新搭环境在一台G显存的服务器上跑,还是不够;最后用一台G显存的服务器,终于运行起来了。
接下来尝试跑openpose的例子,下图左侧是骨架图,提示词为"Iron man, high-quality, high-res",右侧是生成的图像。
既然能跑推理,那么尝试跑训练。为了后续修改代码运行,目标是准备一点点数据把训练代码跑起来,至于训练的效果不是当前关注的。程序中也有训练的脚步,我们以训练深度图条件为例,来运行train_depth.py。
显然,习惯了,会有一些问题没法直接运行,需要先做两步工作。准备训练数据,分析代码,定位到ldm/data/dataset_depth.py,反推它的数据集结构,然后准备对应数据。先创建文件datasets/laion_depth_meta_v1.txt,用于存放数据文件的地址,由于只是测试,我就只添加两行。然后准备,图中的.png和.png是结果图,.depth.png和.depth.png是深度图,.txt和.txt是对应的文本描述。
文本描述如下,都只是为了把代码跑起来而做的简单设置。设置环境变量,由于T2I-Adapter使用多卡训练,显然我也没这个环境,因此要让它在单机上跑。而代码中也会获取一些环境变量,因此做简单的设置。
做好准备工作,可以运行程序了,出于硬件条件限制,只能把batch size设置为1。在A显卡跑了约8小时,完成,按默认的配置,模型保存experiments/train_depth/models/model_ad_.pth。那么,使用训练出来的模型试试效果,能生成如下(此处只是为了跑起来代码,用训练集来测试),验证了可以跑起来。
运行起来,但这还不够,我们还得看看代码是怎么写法,下一篇见。
PS:《直观理解AI博弈原理》是笔者写的一篇长文,从五子棋、象棋、围棋的AI演进讲起,从深度遍历、MAX-MIN剪枝再到蒙特卡罗树搜索,一步步介绍AI博弈的原理,而后引出强化学习方法,通俗易懂地介绍AlphaGo围棋、星际争霸强化学习AI、王者荣耀AI的一些强化学习要点,值得推荐。
AUTOMATIC的webui是近期很流行的stable-diffusion应用,它集合stable-diffusion各项常用功能,还通过扩展的形式支持controlnet、lora等技术,我们也分析了它的源码实现,写了一系列文章。