⌕ ESC
↑↓ 选择↵ 打开esc 关闭⌘K 唤起
← 返回速读报告 Drizzle Digest · NO.242 · 全文

Why LLM Recommenders Will Be AI's Biggest Consumer App — Devansh Tandon, Meta

频道: AI Engineer
视频: https://www.youtube.com/watch?v=lIgdnF0s0kQ
原文语言: en
统计: 共 11 轮 · Devansh 11


[0:01] Devansh

[music] Welcome everyone. Thank you for coming out to the LM Rexus track. Um I'll be sharing the first talk. Uh my talk is titled tokens and engagement out training LM recommenders. Um, and I want to make two big arguments today. The first is that recommendation systems scale just like LMS do and that the field is very early in that scaling curve. Um, and the second is that the LM recommener is going to be one of the biggest consumer applications of AI. Um, okay. So, quickly about me. Uh, I currently work at Meta on research and product. Uh I lead a team called Meta Recommendations Research uh which is this group that's training frontier models, LLMs and recommenders that power Instagram, Facebook ads, the meta family of apps. Uh before this I was at Google for a long time uh working on a lot of the key ML teams including deep mind and YouTube. Last year I gave a talk at AI engineer called teaching Gemini to speak YouTube about two ideas semantic IDs and generative retrieval which we also wrote two papers about which I've linked here. Um it was really fun and it led to a lot of discussions and collaborations. Uh the ideas behind semantic ID and generative retrieval have really taken off in the industry over the last year.

欢迎大家,感谢各位来到 LLM RecSys 分会场。第一场由我来讲。我这场的题目是《Token 进,互动出:训练 LLM 推荐系统》(Tokens In, Engagement Out)。今天我想提出两个大论点。第一,推荐系统和 LLM 一样,能靠扩大规模持续变强,而且这个领域在这条 scaling 曲线上还处于非常早期的阶段。第二,LLM 推荐系统将成为 AI 最大的消费级应用之一。好,先简单介绍一下我自己。我目前在 Meta 负责研究和产品方面的工作,带领一个叫 Meta Recommendations Research 的团队,这个团队在训练前沿模型,包括 LLM 和推荐模型,支撑着 Instagram、Facebook 广告,以及 Meta 旗下的一系列应用。在此之前,我在 Google 待了很长时间,在不少核心 ML 团队工作过,包括 DeepMind 和 YouTube。去年我在 AI Engineer 大会上做过一场演讲,题目叫《Teaching Gemini to Speak YouTube》(教 Gemini 说「YouTube 语」),讲的是两个想法:semantic ID(语义 ID)和生成式检索(generative retrieval),我们也围绕它们写了两篇论文,链接我放在这页上了。那次讲得很开心,也引出了很多讨论与合作。过去一年里,semantic ID 和生成式检索背后的这些想法在业界真正火了起来。


[1:38] Devansh

Um and they've moved from more research to now scaled production systems. And I've seen exciting launches and papers from YouTube, Meta, Spotify, Door Dash across the industry. And we have a couple of examples of that later today. This year I want to talk about four uh sections. Recommendation scaling curves, a framework of four, recommendation paradigm scurves that we are climbing as an industry. um sharing the recommener recipe and finally this consumer AI app framework. Um let's start with scaling curves. So I wanted to start with this landmark scaling curve paper from 2020 which feels like a lifetime ago. This is when Daario was still at OpenAI and Anthropic didn't exist yet. But the core idea that this paper shared is the power law of scaling. As you increase model size, data, the amount of compute flops trained uh for model training, the loss falls on this log linear scale. And this clean and predictable curve is what really set off the race for the AI frontier because you can forecast what model quality and capability improvements will look like. And this is what's underwriting the massive capex investments and the AI buildout today. It turns out that recommendation systems follow a very similar scaling law. In fact, before this wave of LLMs, Rexs were the largest production ML models in big tech companies. And they're still some of the largest models that are served at a scale of a billion plus daily active users.

它们已经从偏研究的阶段,走到了如今大规模落地的生产系统。我在整个行业里都看到了令人兴奋的发布和论文,来自 YouTube、Meta、Spotify、DoorDash 等公司,今天稍后也会有几个这样的案例。今年我想分四个部分来讲:推荐系统的 scaling 曲线;一个框架,也就是整个行业正在攀爬的四条推荐范式 S 曲线;分享推荐系统的构建配方;最后是一个消费级 AI 应用的分析框架。我们先从 scaling 曲线讲起。我想从 2020 年那篇里程碑式的 scaling 曲线论文说起,现在回头看已经恍如隔世了。那时候 Dario 还在 OpenAI,Anthropic 都还没成立。这篇论文的核心观点是 scaling 的幂律:随着模型规模、数据量,以及用于模型训练的算力(FLOPs)不断增加,loss 会在对数线性尺度上稳定下降。正是这条干净、可预测的曲线,真正引爆了 AI 前沿的竞赛,因为你能预测出模型的质量和能力会提升成什么样。今天巨额的资本开支(capex)投入和 AI 基础设施大建设,底气也正是来自于此。事实证明,推荐系统也遵循非常相似的 scaling law(规模定律)。其实在这波 LLM 浪潮之前,RecSys 就是大型科技公司里规模最大的生产环境 ML 模型。直到今天,它们依然是规模最大的一批模型之一,服务着十亿以上的日活用户。


[3:17] Devansh

And they follow this similar power loss scaling curve. On the x-axis, you have data, compute, and model size. And on the Y ais you would see falling loss or in this chart uh an improvement in recommendation quality. In offline evals it's net entropy or AU gains and then when it's translated to a real production launch it's engagement impact revenue impact at some of the biggest consumer app scale. Here's a real example from Meta that demonstrates these power loss scaling curves. uh there's a paper the first is a paper HSTU from 2024 and the second is a followup from this year both demonstrate that as we scale model size compute and data we see this clear improvement in offline eval of recommendation quality scaling curves aren't just academic research they're driving real product impact at scale for some of the biggest consumer businesses in the world here's a couple of examples I have from Meta's recent earnings reports. Um, Instagram reels had a strong quarter, 30% year-on-year watch time. And, uh, the optimizations we made to improve the quality of recommendations included simplifying our ranking architecture to enable efficient model scaling and longer interaction histories to identify a person's interests.

它们也遵循类似的幂律 scaling 曲线。横轴是数据、算力和模型规模;纵轴上你会看到 loss 在下降,或者像这张图里这样,表现为推荐质量的提升。在离线评估里,看的是归一化熵(NE)或 AUC 的提升;而一旦落到真实的生产发布上,体现的就是在一些体量最大的消费级应用上对用户互动和营收的影响。这里有一个来自 Meta 的真实例子,展示了这种幂律 scaling 曲线。有两篇论文:第一篇是 2024 年的 HSTU(Meta 提出的生成式推荐模型架构),第二篇是今年的后续工作。两篇都表明,随着我们扩大模型规模、算力和数据,推荐质量的离线评估指标会有明显提升。scaling 曲线不只是学术研究,它正在为全球一些最大的消费级业务带来实打实的规模化产品影响。这里有几个例子,摘自 Meta 最近的财报。Instagram Reels 这个季度表现强劲,观看时长同比增长 30%。我们为提升推荐质量所做的优化包括:简化排序架构,以实现高效的模型扩展;以及使用更长的互动历史,来识别一个人的兴趣。


[4:44] Devansh

uh we doubled the length of user interaction sequences used for training Instagram and increased the richness of each user interaction. So these are direct parallels to the power loss scaling curves for LLMs. And I want to introduce this idea of a flywheel of tokens in engagement out which is what's powering all of these Rex model scaling. You train a model. You then run inference on it which is the tokens in that recommendation model results in better content recommendations. It drives consumer engagement, daily active users time spent. It translates to monetization and ads or subscription which pays for the next model training run. And so every step on the scaling curve is one loop around this flywheel. And a lot of consumer apps are spinning this core flywheel at the heart of their business. So we have a long way to scale these recommener systems. I want to talk about the four paradigms that I see the industry progressing through. The first scurve was more traditional Rexus where this scurve focused more on feature engineering and user and content embeddings. Most production systems are still sitting on this curve. they're running some type of two tower sparse network rankers scaling the embedding models. I don't think this curve is going to go away but model development here will be accelerated with auto research and things like feature engineering will be handled by agents uh rather than real ML engineers. The next curve is kind of LM inspired models where you are scaling models ideally end to end. HSTU and one wreck papers are examples in this paradigm. I think this is where the leading recommener systems in the industry are largely operating today. I think the next scurve will be this paradigm of LLM native where you adapt a base model that understands and can reason uh and adapt it for recommendation tasks. The tiger and plum papers are some examples of this paradigm. And I think the final paradigm

我们把训练 Instagram 所用的用户互动序列长度翻了一倍,并提升了每次用户互动所含信息的丰富度。所以这些都和 LLM 的幂律 scaling 曲线直接对应。我想引入一个概念:「token 进、互动出」的飞轮,正是它在驱动所有这些推荐模型的规模扩展。你训练一个模型,然后在上面跑推理,这就是「token 进」;这个推荐模型由此给出更好的内容推荐,推高用户互动,也就是日活和使用时长;这些再转化为变现,也就是广告或订阅收入,而这笔钱又为下一轮模型训练买单。所以,scaling 曲线上每前进一步,就是这个飞轮转了一圈。很多消费级应用的业务核心,都在转着这个飞轮。所以,这些推荐系统还有很长的扩展之路要走。下面我想讲讲我观察到的、整个行业正在依次经历的四种范式。第一条 S 曲线是比较传统的 RecSys,这条曲线的重心在特征工程,以及用户和内容的 embedding。大多数生产系统至今仍处在这条曲线上:跑的是某种双塔、稀疏网络类的排序模型,靠扩大 embedding 模型来提升效果。我不认为这条曲线会消失,但这里的模型开发会被自动化研究(auto research)加速,像特征工程这类活会交给 agent 来干,而不是真人 ML 工程师。下一条曲线是受 LLM 启发的模型,理想情况下是端到端地扩展模型。HSTU 和 OneRec 论文就是这一范式的例子。我认为业界领先的推荐系统如今大多处在这个阶段。我觉得再下一条 S 曲线会是 LLM 原生(LLM native)范式:拿一个能理解、能推理的基座模型,把它适配到推荐任务上。TIGER 和 PLUM 论文就是这一范式的例子。而我认为最后一个范式,


[6:51] Devansh

that I start to see emerging is agentic where LLMs will start to orchestrate Rex systems in a loop. I think there's a parallel here with coding agents. So the LM native models are like improving the core capabilities of the model going from opus 45 to 48 versus the agentic curve will be like improving the coding harness behind claw code or codeex. Um and so instead of just having a single forward pass through the recommener, you can imagine a loop where agents plan, retrieve, rank and then critique the recommendations. They can refine them by calling models again and finally deliver the recommendations. This I think is an interesting area of research. Now let me jump into so here here's kind of the framework of all the four Rex paradigms. I think companies are scaling across each of these curves in parallel. Most of recommendations I think lives in LM inspired today and is trying to graduate into LM native. Uh but then a lot of companies are still using traditional models uh and climbing that scurve. Let me shift gears a bit to share the recipe of how to actually build a LLM recommener. I think it's pretty simple. It's three steps. Uh you start with tokenizing your content and creating a language for your domain.

也就是我开始看到正在兴起的那个,是 agentic 范式:LLM 会开始在一个循环里编排推荐系统。我觉得这和 coding agent 有个可以类比的地方。LLM 原生模型就像是提升模型本身的核心能力,比如从 Opus 4.5 升级到 4.8;而 agentic 这条曲线,则像是改进 Claude Code 或 Codex 背后的 coding harness。所以,与其只让推荐模型跑一次前向传播,你可以想象这样一个循环:agent 先规划、检索、排序,再对推荐结果做评审,然后通过再次调用模型来打磨结果,最后交付推荐。我认为这是一个很有意思的研究方向。现在我跳到……好,这里是四种 RecSys 范式的整体框架。我认为各家公司是在这几条曲线上并行扩展的。我觉得如今大部分推荐系统处在「受 LLM 启发」这个阶段,正努力迈向 LLM 原生。不过也还有很多公司在用传统模型,还在爬那条 S 曲线。我换个话题,来分享一下到底怎么构建一个 LLM 推荐系统的配方。我觉得其实挺简单,就三步。第一步,把你的内容 token 化,为你的领域创造一门语言。


[8:18] Devansh

Then you want to adapt the LLM so that it understands both English and your domain language and becomes this bilingual model. Finally, you can prompt this model with user information and it will directly decode recommendations from your content corpus. Let's go a bit deeper. This is the LLM recommener as a five layer cake. Um, we'll start at the bottom. Uh, that's semantic ID where you're converting your content corpus into tokens that the LLM can understand and reason over. Then you have kind of the base LLM foundation model. This can be an open weights model or an internal first party model. Then the core training stages. Pre-training is around bridging English and these recommener tokens. Post-raining is about steering the model towards recommendation tasks like predicting engagement or reasoning over recommendations. And then finally, you can just do some light surface specific fine-tuning to deploy it on a product surface. The exciting thing about this paradigm is most of the compute is shared across all of the product surfaces. So you don't have to train individual models from scratch for every product surface. I'll go a bit deeper into each stage for semantic ids. I think this has seen incredible adoption. A lot of teams are just replacing their hash ID with the SID in traditional models and seeing good impact. I think there's two big reasons to tokenize content. The first is it gives you the stable representation for models to learn over rather than a constantly shifting hash that the model can only memorize. And the second is compression. You want to be reasoning over these long sequences of user interactions. And if you don't compress the content, for example, a threeminut Instagram real video would be 10,000 tokens and it will just fill up the content context window too quickly.

接着,你要对 LLM 做适配,让它既懂英语也懂你的领域语言,成为一个双语模型。最后,你就可以把用户信息作为 prompt 输入给这个模型,它会直接从你的内容库里解码出推荐结果。我们再深入一点。这是把 LLM 推荐系统看成一个五层蛋糕。我们从最底层说起:那是 semantic ID,也就是把你的内容库转换成 LLM 能理解、能推理的 token。往上是基座 LLM,也就是基础模型,可以是开放权重模型,也可以是公司内部的自研模型。再往上是核心训练阶段:预训练负责打通英语和这些推荐 token;后训练则是把模型引导到推荐任务上,比如预测用户互动,或对推荐进行推理。最后,你只需针对具体产品场景做一些轻量微调,就能把它部署到某个产品场景上。这个范式令人兴奋的地方在于,大部分算力在所有产品场景之间是共享的,所以你不必为每个产品场景从零训练单独的模型。我逐个阶段再深入讲讲。先说 semantic ID,我觉得它的普及程度惊人。很多团队只是在传统模型里把哈希 ID 换成 semantic ID,就看到了不错的效果。我认为把内容 token 化有两大理由。第一,它给模型提供了一个稳定的表示去学习,而不是一个不断变化、模型只能死记硬背的哈希值。第二是压缩。你要对很长的用户互动序列做推理,如果不压缩内容,比如一条三分钟的 Instagram Reels 视频就要占 10,000 个 token,上下文窗口很快就会被塞满。


[10:17] Devansh

So you have to to compress it into about 10 tokens. And so here I have some examples of Instagram reels about tennis. You can see that the semantic token shares the prefix of the first three tokens because they're very similar reels. You can imagine the first token representing sports um and the second two tokens representing tennis and then the final token making these videos individual. Once you have a semantic ID, you can train it to understand both English and semantic ID. And so the task I have on the left for pre-training here is an example of where you prompt with a video with semantic ID ABC has the description blank and the output is a shot that was instantly iconic from Wimbledon. Here you're teaching the model to connect these semantic tokens with synthetic English natural language text. The example on the right is about reasoning over sequences of semantic IDs. And so in a user's interaction history, you can mask some parts of the sequence and the model learns to predict them and understand what videos are watched together in sequence. Here I have an example of post training where we're teaching the model how to rerank content. So the input is a bunch of user information and 30 candidate videos that are then ranked to be the top five recommendations from this LLM ranker. What's really interesting here is that you can see the chain of thought reasoning of this model. And because this model knows both English and recommendations, you can simply just inspect the model and understand why it made the decisions that it did. In this example, the model understands the user's topic interests like comedy, food, DIY, wellness. It understands the engagement style and what creators this user has an affinity towards.

所以你得把它压缩到大约 10 个 token。这里有几条关于网球的 Instagram Reels 作为例子。你可以看到,这些语义 token 的前三个 token 是相同的前缀,因为这几条 Reels 非常相似。你可以想象,第一个 token 代表体育,接下来两个 token 代表网球,而最后一个 token 让每条视频各自区分开来。有了 semantic ID 之后,你就可以训练模型,让它同时理解英语和 semantic ID。左边这个预训练任务就是一个例子:prompt 是「semantic ID 为 ABC 的视频,其描述是__」,输出是「温网上一记瞬间封神的击球」。这里你是在教模型把这些语义 token 和合成的英文自然语言文本关联起来。右边的例子是对 semantic ID 序列做推理:在用户的互动历史里,你可以遮住序列的一部分,让模型学着把它们预测出来,从而理解哪些视频会被按顺序连着看。这里是一个后训练的例子,我们在教模型如何对内容做重排序(rerank)。输入是一堆用户信息和 30 个候选视频,由这个 LLM 排序器从中排出前五条推荐。真正有意思的是,你能看到这个模型的思维链(chain of thought)推理。而且因为这个模型既懂英语又懂推荐,你只要直接检查一下模型,就能理解它为什么做出这样的决定。在这个例子里,模型理解了用户感兴趣的话题,比如喜剧、美食、DIY、身心健康;也理解了这个用户的互动风格,以及他偏爱哪些创作者。


[12:12] Devansh

and then it reranks the content based on this chain of thought reasoning. I think this is super exciting because once you have a model that can understand both English and recommendations, it opens up new product surfaces and new experiences where users can steer their feed. Here's an example from your algorithm on Instagram where users can talk to the algorithm while they're consuming content. It's a screenshot from scrolling through reels or when you click in you can understand what the Instagram algorithm thinks about you and your interests and then you can add or remove interest and talk to it in natural language. And so we're going to see this shift I think from blackbox recommendations algorithms to giving users more control over their algorithm and algorithms becoming more interactive and steerable. I'm really excited that users can direct it towards their own goals that's expressed in language rather than just likes or comments. Um, and I think this can this foundation model can also start to explain its recommendations. And so for this example, I've added an interest that I want to follow the FIFA World Cup at this time. And the model would get both my user history and this new input and then be able to decode recommendations that are personalized to me like this free cake that Messi scored recently.

然后它会基于这段思维链推理,对内容进行重排序。我觉得这非常令人兴奋,因为一旦你有了一个既懂英语又懂推荐的模型,就能打开新的产品场景和新的体验,让用户自己引导信息流。这是 Instagram 上「Your Algorithm」功能的例子,用户可以一边刷内容,一边和算法对话。这张截图来自刷 Reels 的界面,点进去以后,你可以看到 Instagram 算法对你和你的兴趣是怎么判断的,然后你可以添加或删除兴趣,用自然语言跟它交流。所以我认为,我们将看到这样一种转变:从黑盒的推荐算法,走向把算法的控制权更多交还给用户,算法也变得更具交互性、更可引导。让我特别兴奋的是,用户可以用语言表达自己的目标来引导它,而不只是靠点赞或评论。而且我认为,这个基础模型还可以开始解释它的推荐。比如这个例子,我添加了一个兴趣:这段时间我想关注 FIFA 世界杯。模型会同时拿到我的用户历史和这条新输入,然后解码出为我个性化定制的推荐,比如 Messi 最近踢进的这个任意球。


[13:44] Devansh

I think these interactive recommenders are going to be a really interesting new product surface and we're seeing this across the industry. We have some examples of prompted playlists from Spotify, custom feeds from YouTube, Ask Door Dash, and we'll be hearing more from speakers about these. Um, finally, I want to talk about kind of the framework of tokens in engagement out this flywheel that I started with um of model training, inference, consumer engagement, and then monetization. This is actually the same flywheel that's shared by content feeds and the AI chat apps. And this is a lens that you can use to evaluate any consumer app. What'll make an app successful on the training ROI side is how well can it translate compute into a frontier model. On the inference side, how well can the inference tokens translate into engagement and then monetization. And so if you try to compare content feeds and AI chat apps, I think that LM recommenders are actually structurally more token efficient than the AI chat. So on the left you have content feeds like Instagram, Facebook, Tik Tok and YouTube. On the right you have the big AI chat apps like Gemini, ChatGpt and Claude. Content feeds are currently using models that are around 1 to 10 billion active parameters. The chat apps are serving much larger models 10 to 100 billion active parameters. Um the output for the content feed is a semantic ID token which is a pointer or an address to existing content because the content supplied on these content feeds is uploaded by creators. There's a very healthy creator economy and so the supply of content is effectively free or it's uploaded by creators. For the AI chat apps, they have to decode every token of content themselves and the amount of tokens output in every turn of an LM chat interaction is a few thousand tokens. Uh, and the the big difference here is that every token has to be manufactured by the app at inference

我认为这些交互式推荐系统会成为一个非常有意思的新产品场景,而且整个行业都在出现这样的尝试。比如 Spotify 的 prompted playlists(用 prompt 生成歌单)、YouTube 的自定义信息流(custom feeds)、Ask DoorDash,稍后其他讲者也会更多地谈到这些。最后,我想讲讲「token 进、互动出」这个框架,也就是我开头讲的那个飞轮:模型训练、推理、用户互动,然后是变现。其实内容信息流和 AI 聊天应用共享的是同一个飞轮。你可以用这个视角来评估任何一款消费级应用。在训练 ROI 这一侧,决定一款应用成败的是它能多高效地把算力转化为前沿模型;在推理这一侧,则是推理 token 能多高效地转化为用户互动,进而转化为变现。所以如果你拿内容信息流和 AI 聊天应用做比较,我认为 LLM 推荐系统在结构上其实比 AI 聊天更省 token。左边是内容信息流,比如 Instagram、Facebook、TikTok 和 YouTube;右边是几大 AI 聊天应用,比如 Gemini、ChatGPT 和 Claude。内容信息流目前用的模型大约是 10 亿到 100 亿激活参数;聊天应用跑的模型则大得多,是 100 亿到 1000 亿激活参数。内容信息流的输出是一个 semantic ID token,它是指向现成内容的指针或地址,因为这些信息流上的内容供给都是创作者上传的。创作者经济非常健康,所以内容供给实际上是免费的,都由创作者上传。而 AI 聊天应用得自己解码每一个内容 token,LLM 聊天的每一轮交互要输出几千个 token。这里最大的区别在于,每一个 token 都必须由应用在推理


[16:00] Devansh

time. And so what that means is if you compare these two apps on how much inference cost and compute is spent to generate an hour of consumer engagement, there's a huge structural gap where content feeds are significantly cheaper up to 100 times or more cheaper than AI chat apps because they're decoding pointers to content rather than content itself. Um, finally I want to kind of end with why I think LM Rexus is one of the most significant consumer AI applications. If you look at the top apps by daily active users, these are the top 10 apps. Four out of 10 of them are content feeds. And so this is a really significant consumer uh application. If you look at the content feeds, almost all of the consumer app growth on both the engagement and monetization side is driven by the recommener and ads models. And these are going to be entirely transformed by LLM recommenders. It's a very large and very token efficient application of AI for consumer apps. We're going to see a lot of new product experiences come through with steerable and interactive recommendations, explanation of recommendations, and just putting more users in control of their experience on these apps. I think we're going to see some really exciting research on consumer agents and recommendation agents that come out over the next year or so. Um and so this is why I think this is a super exciting area of both research and product uh at this intersection of LLM and recommendations.

时现场制造出来。这意味着,如果你比较这两类应用为产生一小时的用户互动要花多少推理成本和算力,就会发现一个巨大的结构性差距:内容信息流要便宜得多,比 AI 聊天应用便宜多达 100 倍甚至更多,因为它们解码的是指向内容的指针,而不是内容本身。最后,我想以这个话题收尾:为什么我认为 LLM RecSys 是最重要的消费级 AI 应用之一。看一下按日活排名的头部应用,这是前 10 名,其中有 4 个是内容信息流。所以这是一个非常重要的消费级应用。再看内容信息流,无论是用户互动还是变现,几乎所有的增长都是由推荐模型和广告模型驱动的,而它们将被 LLM 推荐系统彻底改造。这是 AI 在消费级应用上一个体量极大、token 效率又极高的应用。我们将看到大量新的产品体验涌现:可引导、可交互的推荐,对推荐结果的解释,以及让更多用户掌控自己在这些应用上的体验。我认为在接下来一年左右,我们会看到一些关于消费级 agent 和推荐 agent 的非常令人兴奋的研究问世。所以这就是为什么我认为,在 LLM 与推荐的这个交叉点上,无论研究还是产品,都是一个超级令人兴奋的领域。


[17:41] Devansh

That's all. Thank you so much.

就讲到这里,非常感谢大家。