LLM + RecSys 初体验(上)

news2024/12/24 3:27:48

最近在逛小红书的时候,发现了一个新的GPU算力租赁平台,与AutoDL和恒源云等平台类似。正巧,官网有活动,注册即送RTX 4090三个小时,CPU 5 小时。正巧最近在测试 LLM+推荐系统的 OpenP5 平台,果断入手测试!

用我的专用邀请链接,注册 OpenBayes,双方各获得 60 分钟 RTX 4090 使用时长,支持累积,永久有效:
https://openbayes.com/console/signup?r=AlexShen_aAfZ

你们注册后也可以推荐给自己的朋友,这样赠送的时长是可以叠加的。

1. GPU 算力容器注册

首先在主界面上可以看到注册算力容器的入口

image-20240122142602285

然后根据个人需要创建相应算力的容器即可。另外,官方提供了许多常见的数据集,可以直接搜索使用。我这次要做的是推荐系统相关的模型,因此选择了 Movielen 数据集。针对新用户,每个人都可以获得 3h 的 4090 显卡,对于一些简单的任务是足够的。

同时官方也提供了不同版本的 Pytorch,Tensorflow,paddlepaddle 的镜像,省去了配置环境的麻烦。

image-20240122143212256

创建完成以后,可以看到如下图所示的控制台界面。官方也是提供了 Jupyter 以及 SSH 两种访问方式。

image-20240122143418471

2. OpenP5 模型

个人是比较习惯使用 SSH 连接服务器的。使用官方控制台提供的 ssh 连接指令,即可轻松的连接到 GPU 服务器。使用nvidia-smi可以查看 GPU 使用情况。

image-20240122143948277

2.1 源码下载

本次测试的模型是一个基于 LLM 的推荐系统的开源平台。Github 链接:https://github.com/agiresearch/OpenP5

有兴趣的朋友可以进入 github,查看相应的论文。

image-20240122144200639

git clone https://github.com/agiresearch/OpenP5.git

image-20240122144546361

2.2 数据集下载

根据官方 README 的提示,前往 Google Drive 下载预处理过的数据集。本文采用ML100K 数据集进行测试。

image-20240122144730757

本人在 Macos 平台,习惯使用 Termius 作为 SFTP 文件上传工具。

image-20240122150043245

安装环境所需要的包

pip install transformers scikit-learn torchvision tqdm numpy datasets peft

如果有网络问题,需要手动下载 huggingface t5-small 模型。https://huggingface.co/t5-small/

git lfs install
git clone https://huggingface.co/t5-small

image-20240122154418308

2.3 修改运行指令

单卡服务器,需要修改CUDA_VISIBLE_DEVICES=0torchrun --nproc_per_node=1

#!/bin/bash

dir_path="../log/ML100K/"

if [ ! -d "$dir_path" ]; then
    mkdir -p "$dir_path"
fi

CUDA_VISIBLE_DEVICES=0 torchrun --nproc_per_node=1 --master_port=1234 ../src/train.py --item_indexing sequential --tasks sequential,straightforward --datasets ML100K --epochs 10 --batch_size 128 --backbone t5-small --cutoff 1024 > ../log/ML100K/ML100K_t5_sequential.log

运行结果如下图所示。具体关于 OpenP5 的细节,将在下一篇博客中介绍。

image-20240122204657128

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1406514.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

力扣精选算法100道——x的平方根(二分查找专题)

x的平方根 首先看到这个题目的时候,我们需要对上一个二分查找专题的题目进行深度理解,然后了解模板,这题是完全利用的上一题的模板知识进行,如果直接看这个题目可能是有点懵的,因为我这里直接利用模板进行解题。力扣…

nexus清理docker私库

下载nexus-cli客户端,并非必须下载到服务器,理论上只要能访问到nexus就行 wget https://s3.eu-west-2.amazonaws.com/nexus-cli/1.0.0-beta/linux/nexus-cli这个链接下载不了了,末尾有资源下载,里面包含了完整包和脚本&#xff0…

Mysql主从复制、读写分离、分库分表

大数据处理 1.主从复制1.1 概述1.2 原理1.3 搭建 1.主从复制 主从复制 1.1 概述 主从复制指: 将主数据库的DDL和DML操作通过二进制日志传递到从库服务器中, 然后从库根据日志重新执行(也叫重做), 从而使从库和主库的数据保存同步 MYSQL支持一台主库同时向多台从库进行复制,…

Kafka-服务端-KafkaController

Broker能够处理来自KafkaController的LeaderAndIsrRequest、StopReplicaRequest、UpdateMetadataRequest等请求。 在Kafka集群的多个Broker中,有一个Broker会被选举为Controller Leader,负责管理整个集群中所有的分区和副本的状态。 例如:当某分区的Le…

解密.dataru被困的数据:如何应对.dataru勒索病毒威胁

导言: 在数字时代,勒索病毒如.dataru正在不断演变,威胁着用户的数据安全。本文91数据恢复将深入介绍.dataru勒索病毒的特点、被加密数据的恢复方法,以及预防措施,帮助您更好地了解并对抗这一数字威胁。当面对被勒索病…

Armv8-M的TrustZone技术之SAU寄存器总结

每个SAU寄存器是32位宽。下表显示了SAU寄存器概要。 5.1 SAU_CTRL register SAU_CTRL寄存器的特征如下图和表所示: 5.2 SAU_TYPE register 5.3 SAU_RNR register 5.4 SAU_RBAR register 5.5 SAU_RLAR register 5.6 SAU区域配置 当SAU启用时,未由已启用…

深度学习技巧应用33-零门槛实现模型在多个GPU的分布式流水线训练的应用技巧

大家好,我是微学AI,今天给大家介绍一下深度学习技巧应用33零门槛实现模型在多个GPU的分布式流水线训练的应用技巧,本文将帮助大家零门槛的实现模型在多个GPU的并行训练,如果你手头上没有GPU资源,根据本文的介绍也可实现…

Redis应用(1)缓存(1.2)------Redis三种缓存问题

三者出现的根本原因是:Redis缓存命中率下降,请求直接打到DB上了。 一、 缓存穿透: 1、定义: 缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。…

C++面试宝典第24题:袋鼠过河

题目 一只袋鼠要从河这边跳到河对岸,河很宽,但是河中间打了很多桩子。每隔一米就有一个桩子,每个桩子上都有一个弹簧,袋鼠跳到弹簧上就可以跳得更远。每个弹簧力量不同,用一个数字代表它的力量,如果弹簧力量为5,就代表袋鼠下一跳最多能够跳5米;如果为0,就会陷进去无法…

《WebKit 技术内幕》学习之十一(3):多媒体

3 音频 3.1 音频元素 说完视频之后,接下来就是HTML5中对音频的支持情况。音频支持不仅指对声音的播放,还包括对音频的编辑和合成,以及对乐器数字接口(MIDI)等的支持,下面逐次介绍并分析它们。 3.1.1 H…

更改wpf原始默认按钮的样式

样式 代码 <Window x:Class"WpfApp4.Window1"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/2008…

【linux】Debian挂起和休眠

一、挂起和休眠 在Debian桌面系统中&#xff0c;挂起和休眠是两种不同的状态&#xff0c;它们之间有一些区别。 挂起&#xff08;Suspend&#xff09;是将当前系统的状态保存到RAM&#xff08;内存&#xff09;中&#xff0c;然后关闭所有硬件设备&#xff0c;除了RAM之外。在…

详细分析Java中的list.foreach()和list.stream().foreach()

目录 前言1. 基本知识2. 差异之处2.1 执行顺序2.2 串行并行2.3 复杂数据处理2.4 CRUD集合2.5 迭代器 3. 总结4. 彩蛋 前言 典故来源于项目中使用了两种方式的foreach&#xff0c;后面尝试体验下有何区别&#xff01; 先看代码示例&#xff1a; 使用List的forEach&#xff1a…

风丘车辆热管理测试方案

车辆热管理是在能源危机出现、汽车排放法规日益严格以及人们对汽车舒适性要求更高的背景下应运而生的。将各个系统或部件如冷却系统、润滑系统和空调系统等集成一个有效的热管理系统&#xff1b;控制和优化车辆的热量传递过程&#xff0c;保证各关键部件和系统安全高效运行&…

麒麟系统—— openKylin 安装到虚拟机以及开放SSH通过工具连接

麒麟系统—— openKylin 安装到虚拟机以及开放SSH通过工具连接 1. 在VMware中安装openKylin麒麟系统步骤1&#xff1a;准备VMware环境步骤2&#xff1a;创建新的虚拟机步骤3&#xff1a;安装openKylin麒麟系统步骤4&#xff1a;调整分别率步骤5&#xff1a;安装SSH 2. 使用Open…

安卓自动缩放布局

AutoScalingLayout 适用于 Android 的自动缩放布局。 替换布局&#xff1a; 我们只需要替换根布局所需的自动缩放&#xff0c;子布局也将实现自动缩放。 原始布局AutoScalingLayout相对布局ASRelativeLayout线性布局ASLinearLayoutFrameLayout&#xff08;框架布局&#xff…

SpringCloud Bus动态刷新全局广播

文章目录 代码地址配置项目配置修改测试 SpringCloud Bus动态刷新定点通知 代码地址 地址:https://github.com/13thm/study_springcloud/tree/main/days11_%20Bus 配置项目 必须先具备良好的RabbitMQ环境先 演示广播效果&#xff0c;增加复杂度&#xff0c;再以3355为模板再…

Python基础第九篇(Python可视化的开发)

文章目录 一、json数据格式&#xff08;1&#xff09;.转换案例代码&#xff08;2&#xff09;.读出结果 二、pyecharts模块介绍三、pyecharts模块入门&#xff08;1&#xff09;.pyecharts模块安装&#xff08;2&#xff09;.pyecharts模块操作&#xff08;1&#xff09;.代码…

nvm安装与使用教程

目录 nvm是什么 nvm安装 配置环境变量 更换淘宝镜像 安装node.js版本 nvm list available 显示可下载版本的部分列表 nvm install 版本号 ​编辑 nvm ls 查看已经安装的版本 ​编辑 nvm use 版本号(切换想使用的版本号) nvm是什么 nvm是node.js version management的…

c++学习笔记-STL案例-机房预约系统6-老师模块

前言 衔接上一篇“c学习笔记-STL案例-机房预约系统5-学生模块”&#xff0c;本文主要设计老师模块&#xff0c;从&#xff0c;老师登录和注销、查看所有预约、审核预约三个方面进行分析和实现。 目录 9 教师模块 9.1 教师登录和注销 9.1.1 构造函数 9.1.2 教师子菜单 ​编…