查看原文
其他

WPAI支持58同城第2届AI算法大赛

WPAI 58AILab 2023-12-21


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文件为主执行脚本


示例Demo:

# 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技术小秘书

推荐阅读:


部门简介

58同城AI Lab隶属TEG技术工程平台群,成立于2018年5月,目前部门人数规模70+,包括产品、后端、算法、数据开发人员。
AI Lab旨在推动AI技术在58同城的落地,打造AI中台能力,以提高前台业务人效、收入和用户体验。
部门介绍,具体见:58同城AI Lab部门介绍
持续招聘,具体见:58同城AI Lab招聘产品经理、开发工程师

欢迎关注部门微信公众号:58AILab


继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存