WPAI支持58同城第2届AI算法大赛
58同城第2届AI算法大赛于2021年7月9日启动竞赛报名,比赛提供一批58招聘实际推荐场景中的数据,参赛者可以基于用户的历史行为数据,利用机器学习算法预测出用户对于不同职位的浏览和投递概率,比赛以浏览、投递预测结果的加权AUC值进行评分,详细介绍可参考文章《58同城AI算法大赛开始报名,欢迎参赛》。
本次比赛,我们开放了58同城AI算法平台WPAI,提供一批GPU计算资源供参赛者使用,参赛者可以在平台上完成模型的训练和评测。
58同城AI算法平台WPAI
WPAI(Wuba Platform of Artificial Intelligence)是58同城一站式AI算法平台,提供高性价比的AI算法平台能力,使得开发人员在其之上能够方便地进行模型训练和推理。WPAI包含排序学习平台、深度学习训练平台、弹性推理服务平台、WubaNLP自然语言处理平台、向量检索平台等功能,本次大赛我们开放其中深度学习训练平台的基本功能,参赛选手可以使用平台提供的GPU计算资源选择合适的镜像环境进行模型训练、模型评测等。
使用WPAI完成AI算法大赛
58人工智能平台WPAI仅限参赛人员使用,一个参赛队伍同时只允许运行一个任务,平台地址为wpai.58.com。下面以一个简单示例详细说明如何使用WPAI完成AI算法大赛。
1、第一步:配置训练环境
提供的硬件资源为6核CPU 、0.5张RTX3090显卡、显存12G、内存 50G。
软件环境包括TensorFlow 1.15.4、TensorFlow 2.5.0、PyTorch 1.8.0、PyTorch 1.7.1四个容器环境,除了TensorFlow 2.5.0外,其他镜像环境已经安装了常用的Python包,比如NumPy,Pandas,SciPy,scikit-learn等等,参赛者可以自己验证包是否可导入。可以自己选择镜像环境。
ubuntu系统软件: 可解决某些python依赖包需要系统软件的支持,多个软件空格隔开。填写示例:soft1 soft2 ...
python依赖包: 可指定安装版本,多个依赖包空格隔开。填写示例:numpy pandas==1.1.3 ...
2、第二步:上传数据
大赛数据可在赛题说明下载https://tech.58.com/game/problemDesc?contestId=4&token=58tech。
大赛官方默认数据集存放在 /workspace/mdata下,若想使用官方默认数据集则无需上传,代码中直接访问/workspace/mdata目录读取。其中train.txt为训练集,包括特征和label;test.txt为测试集,只包括特征,不包含label。
点击“上传”->“数据”进行上传,支持文件断点续传,上传后数据会被解压并存储到/workspace/data下,注意:
将数据打包为ZIP文件再上传,比如下图文件夹中有两个数据文件,直接把两个文件打包,注意不要对文件夹打包,否则读取数据会出现错误。
3、第三步:上传代码
点击“上传”->“代码”进行上传,支持文件断点续传。注意:
将代码打包为ZIP文件再上传,并且解压后根目录下必须要有train.py文件,平台约定train.py文件为主执行脚本。
# train.py
# coding: utf-8
import numpy as np
import pandas as pd
test_cnt = 0
# 使用大赛官方默认数据集,目录改成"/workspace/mdata/test.txt"
with open("/workspace/data/test.txt", \'r\') as f:
for line in f.readlines():
test_cnt += 1
print(test_cnt)
res = np.random.randint(2,size=(test_cnt,2))
df = pd.DataFrame(res)
print(df.shape)
# 保存预测结果
res_path = "/workspace/model/submission.csv"
df.to_csv(res_path, index=False, header=False)
4、模型训练和评测
配置好训练环境,并且数据和代码上传以后,可点击"运行"来运行代码。如果想查看模型训练的日志,可点击"操作"下的"运行日志"查看。建议在本地调试好代码以后再上传到WPAI运行。
部分运行日志如下:
开始下载训练代码,开始解压代码文件
Archive: train.zip
inflating: /workspace/train/train.py
inflating: /workspace/train/__MACOSX/._train.py
解压代码文件完成
开始下载训用户数据文件
开始解压数据文件
Archive: data.zip
inflating: /workspace/data/test.txt
inflating: /workspace/data/__MACOSX/._test.txt
inflating: /workspace/data/train.txt
inflating: /workspace/data/__MACOSX/._train.txt
解压数据文件完成
开始下载原始数据
开始解压原始数据文件
test.txt
train.txt
解压原始数据完成
开始进行训练,执行train.py
236968
(236968, 2)
开始打包上传模型
模型打包路径localModelPath=/workspace/model
modeldir=/workspace,modelname=model
模型收集--开始打包压缩模型文件
model/
model/submission.csv
模型收集--开始上传模型文件
/workspace
模型训练成功
5、下载结果
如果希望将模型以及预测结果等文件保存下来,可以保存到/workspace/model目录下。在模型训练完成后,平台会将/workspace/model目录下的文件进行打包,参赛者可在"操作"下的"结果下载"来下载相应结果。
6、上传结果到大赛网站打分
平台使用过程中有任何问题或建议可扫描以下微信二维码,添加"58技术小秘书"微信,欢迎加入算法大赛群答疑、讨论。
58技术小秘书
推荐阅读:
部门简介
欢迎关注部门微信公众号:58AILab