魔塔 社区就类似国外的Hugging Face,是一个模型即服务的运行平台。在这个平台上运行着很多的大模型示例,网站直接提供了试运行的环境,也可以下载代码到本地部署运行或是在阿里云的PAI平台运行。
pytorch环境搭建
我是跟着 Pytorch-Gpu环境配置 博文一步一步搭建起来的。唯一不同的是,我不是基于Anaconda虚拟环境搭建,而是直接在本地环境部署pytorch与CUDA。
开着西部世界的VPN,下载pytorch与CUDA会快一些,在本地下载好了pytorch的whl文件后,直接在下载目录中打开cmd窗口,使用pip install xxxx.whl
安装pytorch即可。
RaNER 模型搭建与运行
进入魔塔官网,找到MGeo模型,首先必须要下载modelscope包。在MGeo的模型介绍中,以及有详细的命令说明,如下:
# GPU版本
conda create -n py37testmaas python=3.7
pip install cryptography==3.4.8 tensorflow-gpu==1.15.5 torch==1.11.0 torchvision==0.12.0 torchaudio==0.11.0
pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
但是对于我来说,并没有用到conda虚拟环境,所以我只是运行了最后的pip命令,如下:
pip install "modelscope[nlp]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html
命令输出内容如下:
最好是开着VPN执行命令,否则会很慢。下载完后有一个报错,可以忽略,最后我成功安装的组件有:
如此,便完成了modelscope包的安装。然后拷贝示例代码在本地运行即可,示例代码如下:
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks
task = Tasks.token_classification
model = 'damo/mgeo_geographic_elements_tagging_chinese_base'
inputs = '浙江省杭州市余杭区阿里巴巴西溪园区'
pipeline_ins = pipeline(
task=task, model=model)
print(pipeline_ins(input=inputs))
# 输出
# {'output': [{'type': 'prov', 'start': 0, 'end': 3, 'span': '浙江省'}, {'type': 'city', 'start': 3, 'end': 6, 'span': '杭州市'}, {'type': 'district', 'start': 6, 'end': 9, 'span': '余杭区'}, {'type': 'poi', 'start': 9, 'end': 17, 'span': '阿里巴巴西溪园区'}]}
运行过程中,也会有一些提示,还是很有意思的,可以看看.
最后的结果也是正常的输出了,对于输出结果的解释,我就不多说,可以看API文档解释。我换成其它地址继续测试:
总结
最后说一下自己的实际感受。首先这个MGEO的AI模型,在我上家公司我主导做的项目就用到了,当时是花钱在阿里云的 地址标准化 产品上购买使用,用于在实际的项目中根据客户输入的地址提取省市区并再次输入到目标网站。当时一开始想的是自己找开源的库来实现,后来发现有点难,因为客户输入的辨识度太低,可能性太多,而且我们不能规范客户的输入(主要是历史数据太多)。因此当时找了好多方案,最后发现阿里云有这个支持,就花钱购买调用解决问题。从现在来看,其实整个模型与应用完全可以自己搭建部署起来,省钱又能自我管控,而且还能二次开发,毕竟现在以及前几年做AI算法的人还是不少的(当时我们公司也有少数做AI相关的人,自己现在也算是个半吊子水平,看得懂也能改一点),唉,总的来说还是当时的能力限制了,还是得多学多思考,尤其是现在AI模型的普遍性与高速发展,程序猿学习成本与门槛降低很多很多。