-
本文带你认识一个优秀的新深度学习框架,了解深度学习中最重要的3件事。框架看到这个题目,你可能会疑惑:老师,你不是讲过如何用深度学习做图像分类了吗?迁移学习好像也讲过了啊!说得对!我要感谢你对我专栏的持续关注。我确实讲过深度学习做图像分类,以及迁移学习这两项内容。写这篇文章,是因为最近因为科研的关系,发现了 fast.ai 这款框架。我希望把它介绍给你。你可能会不解,之前介绍过的 TuriCreate, Tensorflow, tflearn 和 Keras 好像都挺好用的啊!我想问问,你在实际的科研工作里,用过哪一个呢?大多数的读者,只怕基本上都没真正用它们跑过实际的任务。为什么呢?因为对普通用户(例如我经常提到的“文科生”),这些框架要么用起来很简单,但是功能不够强大;要么功能很强大,但是不够易用。例如苹果的 TuriCreate ,我给你演示过,直接零基础上手都没问题。但当你希望对模型进行构造调整的时候,马上就会发现困难重重。因为其专长在于快速产生模型,并且部署到苹果移动设备,因此文档里面底层细节的介绍是有欠缺的。而且有些模型,非苹果平台目前还不能兼容。至于某著名框架,直到推出3年后,在各方压力下,不得已才把好用的 Eager Execution 作为主要使用模式。其间充分体现了那种技术人员独有的傲慢和固执。另外,就连程序员和数据科学家们都把吐槽“看不懂”它的官方文档当作了家常便饭。这些轶事,由于公开发布会招致口水仗,所以我只写在了知识星球专属语雀团队《发现了一套非常棒的(该框架名称)视频教程》一文中。感兴趣的话,不妨去看看。原本我认为, Keras 已经是把功能和易用性做到了最佳平衡了。直到我看到了 Jeremy Howard,也就是 fast.ai 创始人提出的评判标准——如果一个深度学习框架需要写个教程给你,那它的易用性还不够好。我看了之后,可以用感动来形容。Jeremy 说这话,不是为了夸自己——因为他甚至做了个 MOOC 出来。他自己评价,说目前 fast.ai 的易用性依然不算成功。但在我看来, fast.ai 是目前把易用性和功能都做到了极致的深度学习框架。它的门槛极低。如同 TuriCreate 一样,你可以很轻易用几句话写个图片分类模型出来,人人都能立即上手。它的天花板又很高。因为它只是个包裹了 Pytorch 的代码库。你可能也听说了,在过去的一年里,Pytorch 在学术界大放异彩,就是因为它的门槛对于科研人员来说,已经足够友好了。如果你有需求,可以非常方便地通过代码的修改和复用,敏捷构造自己的深度学习模型。这种积木式的组合方式,使得许多新论文中的模型,可以第一时间被复现验证。如果你在这个过程中有了自己的灵感和心得,可以马上实践。且慢,fast.ai 的作者不是已经做了自己的 MOOC 了吗?那写这篇文章,岂不是多此一举?不是的。首先,作者每年迭代一个 MOOC 的版本,因为 MOOC 一共包括三门课程,分别是:Practical Deep Learning for CodersCutting Edge Deep Learning for CodersIntroduction to Machine Learning for Coders但现在你能看到的深度学习基础课,还是去年录的。今年10月,伴随着 Pytorch 1.0 的推出, fast.ai 做了一次显著的大版本(1.0)更新。如果你去看去年的课程,会发现和目前的 fast.ai 代码有很多区别。在完成同一个功能时,你愿意再跑去学旧的过时内容吗?特别是,如果搞混了,还很容易出错。可是,想看到这个版本课程的免费视频,你至少得等到明年1月。因为目前正式学员们也才刚刚开课。而且,那视频,也是英文的。正因如此,我觉得有必要给你讲讲,如何用最新的 fast.ai 1.0 版本,来完成图像深度迁移学习。数据Jeremy 在 MOOC 中提到,如果你打算让机器通过数据来学习,你需要提供3样东西给它,分别是:数据(Data)模型结构(Architecture)损失度量(Loss Metrics)模型结构,是根据你的具体问题走的。例如说,你需要让机器做图片分类,那么就需要使用卷积神经网络(Convolutional Neural Network)来表征图片上的像素信息构成的特征。如果你需要做自然语言处理,那么就可以使用循环神经网络(Recurrent Neural Network)来捕捉文本或者字符的顺序关联信息。损失衡量,是指你提供一个标准,衡量机器对某项任务的处理水平。例如说对于分类效果如何,你可以使用交叉熵(Binary Cross Entropy)来评判。这样,机器会尝试最小化损失结果,从而让分类表现越来越好。至于数据,因为我们这里的任务是做分类。因此需要有标注的训练数据。我已经把本文需要用到的数据放到了这个 github 项目上。打开其中的 imgs 文件夹,你会看见3个子文件夹,分别对应训练(train),验证(valid)和测试(test)。打开 train 文件夹看看。你没猜错,我们用的图片还是哆啦A梦(doraemon)和瓦力(walle)。因为这样不仅可以保持教程的一惯性,而且也可以保证结果对比的公平。打开哆啦A梦的目录看看:展示其中第一个文件内容。好熟悉,是不是?你可以浏览一下其他的哆啦A梦照片,然后别忘了去瓦力的文件夹里面扫上一眼。这就是我们的数据集了。环境为了运行深度学习代码,你需要一个 GPU 。但是你不需要去买一个,租就好了。最方便的租用方法,就是云平台。fast.ai 官方,给出了以下5种云计算平台使用选项:Paperspace GradientSalamanderSageMakerGoogle Compute PlatformAmazon Web Services EC2其中,我推荐你使用的,是 Google Compute Platform 。原因很简单,首先它成本低,每小时只需要 0.38 美元。更重要的是,如果你是新用户, Google 会先送给你300美金,1年内有效。算算看,这够你运行多久深度学习?原先,fast.ai 上面的设置 Google Compute Platform 教程写得很简略。于是我写了个一步步的教程,请使用这个链接访问。不过,我发现 fast.ai 的迭代速度简直惊人,短短几天时间,新的教程就出来了,而且详尽许多。因此你也可以点击这里查看官方的教程。其中如果有跳步,你可以回看我的教程,作为补充。因此,Google Compute Platform 中间步骤,咱们就不赘述了。当你的终端里面出现这样的提示的时候,就证明一切准备工作都就绪了。下面,你需要下载刚刚在 github 上面的代码和数据集。git clone https://github.com/wshuyi/demo-image-classification-fastai.git之后,就可以呼叫 jupyter 出场了。jupyter lab注意因为你是在 Google Compute Platform 云端执行 jupyter ,因此浏览器不会自动弹出。你需要打开 Firefox 或者 Chrome,在其中输入这个链接(http://localhost:8080/lab?)。打开左侧边栏里面的 demo.ipynb。本教程全部的代码都在这里了。当然,你如果比较心急,可以选择执行Run->Run All Cells,查看全部运行结果。但是,跟之前一样,我还是建议你跟着教程的说明,一步步执行它们。以便更加深刻体会每一条语句的含义。载入我们先要载入数据。第一步是从 fast.ai 读入一些相关的功能模块。from fastai import *from fastai.vision import *from fastai.core import *接着,我们需要设置数据所在文件夹的位置,为 imgs 目录。执行:path = Path('imgs')下面,我们让 fast.ai 帮我们载入全部的数据。这时我们调用 ImageDataBunch 类的 from_folder 函数,结果存储到 data 中:data = ImageDataBunch.from_folder(path, test='test', ds_tfms=get_transforms(), size=224)注意这里,我们不仅读入了数据,还顺手做了2件事:我们进行了数据增强(augmentation),也就是对数据进行了翻转、拉伸、旋转,弄出了很多“新”训练数据。这样做的目的,是因为数据越多,越不容易出现过拟合(over-fitting),也就是模型死记硬背,蒙混考试,却没有抓住真正的规律。我们把图片大小进行了统一,设置成了 224 x 224 ,这样做的原因,是我们需要使用迁移学习,要用到预训练模型。预训练模型是在这样大小的图片上面训练出来的,因此保持大小一致,效果更好。下面,检查一下数据载入是否正常:data.show_batch(rows=3, figsize=(10,10))没问题。图片和标记都是正确的。训练用下面这一条语句,我们把“数据”、“模型结构”和“损失度量”三样信息,一起喂给机器。learn = ConvLearner(data, models.resnet34, metrics=accuracy)数据就不说了,模型我们采用的是 resnet34 这样一个预训练模型作为基础架构。至于损失度量,我们用的是准确率(accuracy)。你可能会纳闷,这就完了?不对呀!没有告诉模型类别有几个啊,没有指定任务迁移之后接续的几个层次的数量、大小、激活函数……对,不需要。因为 fast.ai 根据你输入的上述“数据”、“模型结构”和“损失度量”信息,自动帮你把这些闲七杂八的事情默默搞定了。下面,你需要用一条指令来训练它:learn.fit_one_cycle(1)注意,这里我们要求 fast.ai 使用 one cycle policy 。如果你对细节感兴趣,可以点击这个链接了解具体内容。5秒钟之后,训练结束。验证集准确率是,100%。注意,你“拿来”的这个 resnet34 模型当初做训练的时候,可从来没有见识过哆啦A梦或者瓦力。看了100多张形态各异,包含各种背景噪声的图片,它居然就能 100% 准确分辨了。之前我们讲过机器学习的可解释性很重要。没错,fast.ai 也帮我们考虑到了这点。preds,y = learn.get_preds()interp = ClassificationInterpretation(data, preds, y, loss_class=nn.CrossEntropyLoss)执行上面这两行语句,不会有什么输出。但是你手里有了个解释工具。我们来看看,机器判断得最不好的9张图片都有哪些?interp.plot_top_losses(9, figsize=(10,10))因为准确率已经 100% 了,所以单看数值,你根本无法了解机器判断不同照片的时候,遇到了哪些问题。但是这个解释器却可以立即让你明白,哪些图片,机器处理起来,底气(信心)最为不足。我们还能让解释器做个混淆矩阵出来:interp.plot_confusion_matrix()不过这个混淆矩阵好像没有什么意思。反正全都判断对了。评估我们的模型,是不是已经完美了?不好说。因为我们刚才展示的,只是验证集的结果。这个验证集,机器在迭代模型参数的时候每一回都拿来尝试。所以要检验最为真实的效能,我们需要让机器看从来没有看到过的图片。你可以到 test 目录下面,看看都有什么。注意这里一共6张图片,3张哆啦A梦的,3张瓦力的。这次,我们还会使用刚才用过的 get_preds 函数。不过区别是,我们把 is_test 标记设置为 True,这样机器就不会再去验证集里面取数据了,而是看测试集的。preds,y = learn.get_preds(is_test=True)注意目录下面看到的文件顺序,是依据名称排列的。但是 fast.ai 读取数据的时候,其实是做了随机洗牌(randomized shuffling)。我们得看看实际测试集里面的文件顺序。data.test_dl.dl.dataset.ds.x好了,我们自己心里有数了。下面就看看机器能不能都判断正确了。preds这都啥玩意儿啊?别着急,这是模型预测时候,根据两个不同的分类,分别给出的倾向数值。数值越大,倾向程度越高。左侧一列,是哆啦A梦;右侧一列,是瓦力。我们用 np.argmax 函数,把它简化一些。np.argmax(preds, axis=1)这样一来,看着就清爽多了。我们来检查一下啊:瓦力,瓦力,哆啦A梦,哆啦A梦,哆啦A梦,哆啦A梦……不对呀!最后这一张,walle.113.jpg,不应该判断成瓦力吗?打开看看。哦,难怪。另一个机器人也出现在图片中,圆头圆脑的,确实跟哆啦A梦有相似之处。要不,就这样了?微调那哪儿行?!我们做任务,要讲究精益求精啊。遇到错误不要紧,我们尝试改进模型。用的方法,叫做微调(fine-tuning)。我们刚刚,不过是移花接木,用了 resnet34 的身体,换上了一个我们自定义的头部层次,用来做哆啦A梦和瓦力的分辨。这个训练结果,其实已经很好了。但是既然锁定了“身体”部分的全部参数,只训练头部,依然会遇到判断失误。那我们自然想到的,就应该是连同“身体”,一起调整训练了。但是这谈何容易?你调整得动作轻微,那么效果不会明显;如果你调整过了劲儿,“身体”部分的预训练模型通过海量数据积累的参数经验,就会被破坏掉。两难啊,两难!好在,聪明的研究者提出了一个巧妙的解决之道。这非常符合我们不只一次提及的“第一性原理”,那就是返回到事情的本源,问出一句:谁说调整的速度,要全模型都一致?!深度卷积神经网络,是一个典型的层次模型。模型靠近输入的地方,捕获的是底层的特征。例如边缘形状等。模型靠近输出的地方,捕获的是高层特征,例如某种物体的形貌。对于底层特征,我们相信哆啦A梦、瓦力和原先训练的那些自然界事物,有很多相似之处,因此应该少调整。反之,原先模型用于捕获猫、狗、兔子的那些特征部分,我们是用不上的,因此越靠近输出位置的层次,我们就应该多调整。这种不同力度的调整,是通过学习速率(learning rate)来达成的。具体到我们的这种区分,专用名词叫做“歧视性学习速率”(discriminative learning rate)。你可能想放弃了,这么难!我不玩儿了!且慢,看看 fast.ai 怎么实现“歧视性学习速率”。learn.unfreeze()learn.fit_one_cycle(3, slice(1e-5,3e-4))对,只需在这里指定一下,底层和上层,选择什么不同的起始速率。搞定。没错,就是这么不讲道理地智能化。这次,训练了3个循环(cycle)。注意,虽然准确率没有变化(一直是100%,也不可能提升了),但是损失数值,不论是训练集,还是验证集上的,都在减小。这证明模型在努力地学东西。你可能会担心:这样会不会导致过拟合啊?看看就知道了,训练集上的损失数值,一直高于验证集,这就意味着,没有过拟合发生的征兆。好了,拿着这个微调优化过后的模型,我们再来试试测试集吧。首先我们强迫症似地看看测试集文件顺序有没有变化:data.test_dl.dl.dataset.ds.x既然没有变,我们就放心了。下面我们执行预测:preds,y = learn.get_preds(is_test=True)然后,观察结果:np.argmax(preds, axis=1)如你所见,这次全部判断正确。可见,我们的微调,是真实有用的。小结本文为你介绍了如何用 fast.ai 1.0 框架进行图像深度迁移学习。可以看到, fast.ai 不仅简洁、功能强大,而且足够智能化。所有可以帮用户做的事情,它全都替你代劳。作为研究者,你只需要关注“数据”、“模型结构”和“损失度量”这3个关键问题,以改进学习效果。我希望你不要满足于把代码跑下来。用你获得的300美金,换上自己的数据跑一跑,看看能否获得足够满意的结果。转自 https://mp.weixin.qq.com/s?__biz=MzIyODI1MzYyNA==&mid=2653540487&idx=1&sn=34704d1611631ebd3d421f5e831941c7&chksm=f389ba50c4fe33460875f65e6cdcc5339bc532290e0f686b2c8d4b2f9af5f38bb73082199f38&scene=21#wechat_redirect
-
中奖结果公示感谢各位小伙伴参与本次活动,本次活动获奖名单如下:请各位获奖的伙伴在10月23日之前点击此处填写收货地址,如逾期未填写视为弃奖。再次感谢各位小伙伴参与本次活动,欢迎关注华为云DTSE Tech Talk 技术直播更多活动~直播简介【直播主题】华为云数字人赋能千行百业,共享AIGC新机遇【直播时间】2023年10月18日 16:30-18:00【直播专家】左雯 华为云媒体DTSE技术布道师【直播简介】数字人作为元宇宙中真人沉浸式体验的重要入口和AIGC的关键要素,伴随元宇宙和AIGC双轮产业进步,关注本期直播,告诉你数字人将如何带来千行百业的产业变革?直播链接:cid:link_1活动介绍【互动方式】直播前您可以在本帖留下您疑惑的问题,专家会在直播时为您解答。直播后您可以继续在本帖留言,与专家互动交流。我们会在全部活动结束后对参与互动的用户进行评选。【活动时间】即日起—2023年10月19日【奖励说明】评奖规则:活动1:直播期间在直播间提出与直播内容相关的问题,对专家评选为优质问题的开发者进行奖励。奖品:华为云定制U型按摩枕活动2:在本帖提出与直播内容相关的问题,由专家在所有互动贴中选出最优问题贴的开发者进行奖励。奖品:华为云定制POLO衫更多直播活动直播互动有礼:官网直播间发口令“华为云 DTSE”抽华为云定制短袖T恤、填写问卷抽华为云定制保温杯等好礼分享问卷有礼 :邀请5位朋友以上完成问卷即可获得华为云定制棒球帽。老观众专属福利:连续报名并观看DTT直播3期以上抽送华为云DTT定制T恤。【注意事项】1、所有参与活动的问题,如发现为复用他人内容,则取消获奖资格。2、为保证您顺利领取活动奖品,请您在活动公示奖项后2个工作日内私信提前填写奖品收货信息,如您没有填写,视为自动放弃奖励。3、活动奖项公示时间截止2023年10月20日,如未反馈邮寄信息视为弃奖。本次活动奖品将于奖项公示后30个工作日内统一发出,请您耐心等待。4、活动期间同类子活动每个ID(同一姓名/电话/收货地址)只能获奖一次,若重复则中奖资格顺延至下一位合格开发者,仅一次顺延。5、如活动奖品出现没有库存的情况,华为云工作人员将会替换等价值的奖品,获奖者不同意此规则视为放弃奖品。6、其他事宜请参考【华为云社区常规活动规则】。
-
生成式人工智能AIGC(Artificial Intelligence Generated Content)是人工智能1.0时代进入2.0时代的重要标志。 GAN、CLIP、Transformer、Diffusion、预训练模型、多模态技术、生成算法等技术的累积融合,催生了AIGC的爆发。算法不断迭代创新、预训练模型引发AIGC技术能力质变,多模态推动AIGC内容多边形,使得AIGC具有更通用和更强的基础能力。 从计算智能、感知智能再到认知智能的进阶发展来看,AIGC已经为人类社会打开了认知智能的大门。通过单个大规模数据的学习训练,令AI具备了多个不同领域的知识,只需要对模型进行适当的调整修正,就能完成真实场景的任务。 AIGC对于人类社会、人工智能的意义是里程碑式的。短期来看AIGC改变了基础的生产力工具,中期来看会改变社会的生产关系,长期来看促使整个社会生产力发生质的突破,在这样的生产力工具、生产关系、生产力变革中,生产要素——数据价值被极度放大。 AIGC把数据要素提到时代核心资源的位置,在一定程度上加快了整个社会的数字化转型进程。生成式人工智能(Generative Artificial Intelligence)**1. 基本原理:生成式人工智能是指使用机器学习和深度学习技术,特别是生成对抗网络(GANs)和变分自动编码器(VAEs)等模型,来生成新的、具有一定创造性的内容。这些模型学习了真实世界数据的分布,然后可以生成与这些数据相似的新数据。生成对抗网络(GANs): GANs由一个生成器网络和一个判别器网络组成。生成器尝试生成看起来真实的数据,而判别器则尝试区分真实数据和生成数据。这个过程是一个对抗的过程,最终生成器生成的数据越来越逼真。变分自动编码器(VAEs): VAEs是一种用于学习数据分布的概率生成模型。它们通过学习输入数据的潜在变量表示来实现这一目标,这使得它们可以生成新的、与输入数据相似的样本。**2. 应用领域:生成式人工智能在多个领域都有广泛的应用:图像生成: 生成对抗网络被广泛用于生成逼真的图像。这种技术在图像合成、风格转换、图像修复等领域有着重要应用。文本生成: 自然语言处理领域的生成模型可以用于生成文本,包括文章、对话、故事等。音频生成: 类似的技术也可以用于生成逼真的音频,包括语音合成、音乐创作等应用。视频生成: 结合图像和音频生成技术,生成式人工智能也可以用于视频生成,包括视频合成、特效添加等。**3. 挑战与未来发展:逼真度与多样性: 生成模型在提高生成内容的逼真度和多样性方面面临挑战。逼真度指生成的内容与真实世界的相似度,多样性指生成内容的多样性和创造性。伦理和法律问题: 随着生成式人工智能技术的发展,社会将面临伦理和法律问题,包括内容的合法性、隐私问题等。增强学习和生成结合: 未来,生成式人工智能可能会与增强学习技术结合,实现更加智能和自主的内容生成。总的来说,生成式人工智能是一个非常活跃且具有挑战性的研究领域,它将持续推动着人工智能技术在内容创造领域的应用。如果"AIGC"在之后成为一个特定的产品或者标准,我建议您查阅最新的资料以获取详细信息。AIGC的主要特点:并行计算能力: AIGC通常拥有强大的并行计算能力,这对于深度学习中大规模矩阵运算等任务非常重要。特定硬件架构: 这些图形卡通常拥有专门为深度学习任务设计的硬件架构,例如NVIDIA的Tensor Cores,用于加速矩阵计算。高性能计算: AIGC通常具有高性能计算能力,能够在较短的时间内完成大量的计算任务,这对于大规模数据集和复杂模型的训练非常重要。深度学习框架的支持: 这些图形卡通常能够无缝集成到主流的深度学习框架中,如TensorFlow、PyTorch等,使得开发者可以方便地利用它们进行深度学习任务的开发。灵活性与定制性: 一些AIGC产品具有可编程性,可以根据特定任务进行定制,这使得它们可以适应各种不同的人工智能应用场景。节能和散热设计: 由于长时间高强度的计算会产生大量热量,AIGC通常具备节能和散热设计,以确保在高性能计算的同时保持稳定的工作温度。应用领域:AIGC广泛应用于各种人工智能应用,包括图像识别、语音识别、自然语言处理、推荐系统等。在这些领域,大规模的深度学习模型需要大量的计算资源,AIGC提供了一种高效的解决方案。
-
大家好,我是来自参赛队伍的“道”,本次比赛很荣幸获得第一名,以下是我比赛过程的思路分享。数据分析本赛道提供的数据均经过脱敏,包含Question和Answer两个字段:数据两个字段连接后最大长度526,有90%数据长度不超过200,存在少量的异常值,数据长度呈现长尾分布。在训练过程使用分桶训练以及开启混合精度可以数倍提升训练速度。下图统计不同长度的词频,数据中存在很多高频词,其中有一个长度为11的文本出现了1943次,针对此数据特点,本方案提出了基于BPE的Mask策略,用于脱敏文本分词,也是和其他队伍的区别的点,具体在后文介绍。数据特点总结:初赛阶段对比了BART、CPT和Pegasus三者实验,Pegasus效果最好,BART效果最差,猜测因为Pegasus针对摘要任务设计,有从较强的从原文总结答案的能力,本次赛题数据要求从给出的核型分析信息生成诊断结果,也需要从原文总结答案,任务上比较相似。预训练策略训练使用的是预训练微调的训练模式,将两个字段的文本连接后再mask,然后送到模型预训练,通过预训练阶段对齐脱敏文本和开源权重,可以提升微调模型效果,加快微调收敛。mask方式采用了两种策略: 第一种是ngram的Mask方式,以0.1:0.2:0.3:0.4的概率mask文本长度为4、3、2、1的连续字符。 第二种基于BPE的mask,其先利用BPE算法生成词表,然后对句子分词,最后以词的粒度mask。相对ngram的好处首先是BPE生成的单词语义信息更完整,可以缓解单个完整语义被分成多块的问题。其次不会导致词表爆炸。预训练损失函数是:LM Loss和MLM Loss的结合,LM Loss的目的是将预训练任务和微调任务对齐,使模型拥有预测下一个token的能力,MLM Loss使得模型集中理解被Mask部分的内容。检索增强:另外微调阶段尝试了检索增强方法,但线上单模掉了很多,猜测是因为检索增强本身是解决知识长尾问题的,本赛题数据量较少,模型很容易记住所有知识,遗忘现象不明显,增加检索策略后反而会引入噪音,影响模型的稳定性。最后是通过对不同策略训练的模型集成效果,基于BPE的Mask是在比赛尾声做的尝试,直接拿来做集成了,在最高成绩的基础上又提升了1.5个百分点,没来得及测单模,这一块好好调一调应该还有上分空间,后续还可以尝试拿来作为微调阶段的词表:预训练和微调阶段所使用到的Trick有:线性Warmup、FGM、RDrop、Cos学习率衰减、标签平滑、权重平均,此外在微调阶段对解码器的输入注入噪音缓解曝光偏差问题,EMA我用了掉分(可能是用了权重平均的缘故)。线上单模最高成绩1.3187,基础权重使用的是燃灯的Pegasus Base模型,用Large反而还会掉点。致谢 最后感谢主办方为我们提供了这次的比赛机会,让我们能够在医疗领域贡献自己的力量,探索人工智能的无限可能性。
-
前言 大家好,我是“智能网优”赛队的队长,这次是单人参赛,有幸拿下取得第二成绩,在此做个简单的分享。 分享 首先是简单的数据分析,本赛题根据金域提供的核型分析异常结果及其对应的解释文本数据,生成含有辅助诊断要素且便于意思理解的结果解释文本信息。需要注意的本次比赛数据均为脱敏处理数据,训练数据共7527条。在基本数据分析阶段主要包含三个工作,分析输入输出文本长度分布将模型文本长度定在256;根据脱敏后文本分布确定可用tokken长度大于616;丢弃异常数据。模型选择方面,先对比t5/bart/gpt/cpt选择t5,对比t5-pegasus的small与base版本选择small版本(large的我没有硬件算力),从huggingface上选择多种t5系列模型预训练权值进行对比,最后选定t5-pegasus-small,mt0-small,Randeng-T5-Char-57M-Chinese等系列融合。赛后交流有部分队伍说比如t5-copy效果很好,但是我对比的时候只选择了有small版本的模型,比如t5-copy没有small版本就不对比了。训练策略主要使用了预训练,EMA,FGM效果比较好:最后总结下亮点与不足,赛后与大部分队伍进行方案交流只有本方案使用了small版本,训练和推理速度肯定是领先的,但是在可以采集更多训练样本情况下,small将明显弱于base。针对这个问题和主办方交流的得知,该领域7527条训练样本还真的是现实生产情况,那small版本还有其意义吧,不过相信未来领域数据应该会越来越多,small版本潜力有限。感想 本人本职工作为通信行业,也是在传统行业耕耘10年以后才开始从零基础学习编程和算法。这次参加金域比赛收获颇多,受邀参观了国内最先进的医检实验室初步了解医检行业的同时也交流了AI在医检行业的应用,从现场专家坦诚的交流来看AI在医检行业的落地及困难与通信行业有诸多共通之处,感觉未来工作有很多借鉴思路。与这次接待的金域文瑛等专家的交流,也能感觉到金域众多工程师的工匠精神以及赛事总结梁董发言的复合型人才发展理念。感谢广州市科学技术局、金域医学以及华为云提供的这次机会,也希望有一天能看到医疗AI普惠到千万家庭中去。
-
AIGC和生成式AI有什么区别吗?
上滑加载中
推荐直播
-
开发者玩转DeepSeek
2025/02/20 周四 16:30-17:30
Thomas – 华为云DTSE技术布道师
双擎驱动优势——华为云CodeArts IDE全栈能力与DeepSeek认知智能深度融合,打造智能编码助手。如何利用DeepSeek的能力,进一步强化业务。
回顾中 -
探秘仓颉编程语言:华为开发者空间的创新利器
2025/02/22 周六 15:00-16:30
华为云讲师团
本期直播将与您一起探秘颉编程语言上线华为开发者空间后,显著提升开发效率,在智能化开发支持、全场景跨平台适配能力、工具链与生态完备性、语言简洁与高性能特性等方面展现出的独特优势。直播看点: 1.java转仓颉的小工具 2.仓颉动画三方库lottie 3.开发者空间介绍及如何在空间用仓颉编程语言开发
即将直播 -
大模型Prompt工程深度实践
2025/02/24 周一 16:00-17:30
盖伦 华为云学堂技术讲师
如何让大模型精准理解开发需求并生成可靠输出?本期直播聚焦大模型Prompt工程核心技术:理解大模型推理基础原理,关键采样参数定义,提示词撰写关键策略及Prompt工程技巧分享。
去报名
热门标签