百度 vs Facebook:基础架构研发思路分析

ChinaByte 比特网 2月1日(文/黄亮)半年多以前,我曾经撰文一篇《 纪录中国——企业存储的自主之路》,讨论的是 厂商(供应商)自主研发创新方面的话题;今天,我要写的是 IT基础设施的用户端,在 数据中心方面的投入的研发。前者比较好理解,只有掌握一定的核心技术才能保证产品的持久竞争力和销路;而作为像 GoogleFacebook百度阿里巴巴这样的 互联网 企业来说,他们的定位是服务提供商,数据中心的研发则是为了 降低IT运维的TCO(总体拥有成本)。

  1月11日,微博上的消息使我注意到百度在南京举办的活动。尽管笔者没有亲临现场,但随后也看到了百度云首席架构师林仕鼎的演讲资料——《数据中心计算与变革》,以及来自各方面的言论。强烈的好奇心使我联系了百度,提出自己的疑问并于近日获得正式的书面回答。本文就将这些内容分享出来,希望对大家有帮助。

  在去年10月底的“从FB、谷歌到淘宝定制服务器:需求决定采购模式”一文中,我写到:“像Facebook和谷歌,因为服务器采购量比较大,他们自己提出一些设计直接向ODM下单,而不是从惠普戴尔IBM这种一线的OEM采购。”近日由Facebook主导的开放计算项目(Open Compute Project)也传来不少新闻,公布了一系列的存储(包括由Fusion-io提供的PCIe闪存加速卡)、主板/服务器、机架和数据中心等方面的参考设计资料。无论是百度还是Facebook,做这些的目的基本相同,但在执行细节、投入产出的形式,以及对整个行业的贡献等方面还是有一定的差别。这也是我们要讨论的一个话题。

  在基础架构的研究方面,无论Facebook和百度做出什么选择,适合的就是最好的

  本文预计分为上、下两篇,关于ARM服务器云存储、万兆以太网(10GbE)交换机等话题留在后面,请您继续关注。

  百度SSD将开放SPEC,欢迎华为在内的硬件供应商

百度 vs FaceBook:基础架构研发思路分析

传统SSD与百度SSD的系统架构对比

  林仕鼎在介绍百度的SSD(PCIe闪存卡)时表示:“传统的系统架构中,是由一个总的SSD controller来控制下面的Flash存储单元,这样的好处是黑箱化、层次化。但不利之处是SSD往往读取较快,写入较慢,容易形成瓶颈。在百度自主研发的SSD架构中,取消了写缓冲、擦写平衡等复杂逻辑,大幅简化SSD控制器的设计。通过将一个大的SSD划分为N个单元,每个单元都有独立的控制器和存储单元,这些信息和控制接口暴露给上层存储系统(软件)后,形成了多个管道,并行读取、存储效率可以大幅提升。”

  上图中,左右两边的架构很容易看出差异。左边是一个SSD控制器连接出多个闪存通道,并向应用程序(系统)提供一个像硬盘那样的块存储设备;而右边则是多个SSD控制器,分别拥有各自的闪存通道,它们向上提供的容量空间,就像在一个盘上的sda0sdaN个分区那样。二者的架构建立在不同的硬件基础上吗?

百度 vs FaceBook:基础架构研发思路分析

这张照片是去年4月,我在IDF2012大会上拍摄的华为PCIe SSD卡,@林仕鼎 曾经在微博上发布的百度SSD图片与它如出一辙,引发了业内人士的广泛猜想。

  上图中我们可以看到主卡上有一颗覆盖黑色散热片的芯片,它的作用应该是PCIe Switch(桥接),另外除了层叠在上面的子卡上有Xilinx(赛灵思)的FPGA和闪存芯片之外,主卡上应该也具备同样的单元。估计一共有4个FPGA作为闪存控制器。

  不过,在这块卡上方的文字介绍中,有“内置RAID 5保护机制,支持ECC纠错... 采用磨损平衡算法...”等字样。也就是说,百度与华为的SSD在软件(Firmware)的编写上是不同的

  另外,这个在今天已经不是华为最新一代的PCIe闪存卡了。在去年7月举行的华为OceanStor T系列统一存储 & Tecal服务器新品发布会上,我们看到了ES3000 PCIe SSD卡(如下图)。

百度 vs FaceBook:基础架构研发思路分析

华为ES3000 PCIe SSD卡

  以笔者这些年来的经验来看,ES3000这块卡的PCB空间利用率(容量密度)、整体设计水平比前代产品上了一个台阶。华为表示它同样使用了FPGA方案,另外我也看到了DRAM颗粒和用于缓存保护的电容

  华为IT产品线总裁郑叶来这样说:“(SSD)软件的关键还是百度自己做的,我觉得华为要向他们学习软件能力,特别是敢于在架构上创新。”

百度 vs FaceBook:基础架构研发思路分析

  其实这张软件架构对比图才是关键。传统SSD(包括PCIe闪存卡)需要给上层文件系统(存储控制器)提供SCSI块设备,因此中间增加了很多“层”,而百度SSD通过位于硬件之上的PCIe driver直接将kernel space提交给轻量级的文件系统(定制?)。因此号称“对比传统PCIe Flash性能提升2倍,成本降低40%;相对SATA SSD性能提升6倍,成本降低10%”。

  ChinaByte比特网:关于自主研发的SSD,硬件是否来自国内某家厂商?然后重写(定制)了Firmware?

  百度:百度自己开发了对应的FPGA 的逻辑和驱动,与自己的应用相结合。代工做生产。

  国内初创的PCIe闪存卡厂商Memblaze忆恒科技联合创始人路向峰曾在去年10月表示:“看来百度打算自己做PCIe SSD了 百度招聘FPGA工程师 硬件计算小组,从事一些互联网IDC方面的新硬件开发和研究,我们做的事情比较有趣,也比较有挑战性。要求做过大规模的逻辑设计,有实际的开发调试经验。熟悉PCIe,DDR2接口,对互联网行业感兴趣,愿意在互联网IDC领域做探索和尝试。”

  ChinaByte比特网:闪存的冗余管理等高级特性,完全由上层软件实现,应用场景会有局限,或者说通用性差?可以说百度自己研发的实际上是一个闪存优化的(分布式)专用文件系统吗?

  百度:百度对SSD 的软硬件进行了很好的划分,与自己的存储体系是一个优化的协同系统。这个系统虽然面向百度自有的存储特性,但百度的存储特性也代表了很多主流互联网公司的存储特性,具有一定的通用性

  点评:上面最后这句话有其道理,不过暂时还没看到百度想把自己使用的SSD向外公开销售。如果卖的话,把产品交给华为还是百度自己来卖呢?百度自主研发的那部分价值如何体现也是一个问题。

  华为服务器领域总经理邱隆曾在微博上表达过更多关于百度SSD的观点,我们也就此与百度进行过讨论。得到的回应是:“我们采用了华为的flash卡,华为开放了硬件板卡级别的SPEC,如FPGA的pin(引脚定义)信息,clock(时钟)信息,NAND flash的pin信息等,我们自行根据百度的需求和软硬件架构重新设计了FPGA逻辑、软件驱动和用户态的单机文件系统。”

  “华为的第四代卡在百度还没有应用,对于百度定制flash卡的后续规划,我们会开放详细的SPEC,欢迎包括华为在内的硬件供应商按照我们的SPEC进行硬件板卡的设计。”

  可以说百度的SSD是在华为PCIe闪存硬件基础上,进行“二次开发”之后的产品。记得笔者去年早些时候曾经与Memblaze总经理殷雪冰讨论过PCIe闪存卡可以按FPGA/ASIC控制器、Native(原生)/ Non-native(非原生)、Host-Based(基于主机)/ Device-Based(基于设备)三种标准来划分。目前的百度SSD应该属于Non-native Host-Based,而我们接下来要讨论的Fusion-io则属于FPGA Native Host-Based。

  受限于本文篇幅和讨论重点,关于不同类型PCIe闪存卡的优劣,以及更多代表产品先不在这里展开了。有兴趣的朋友可以阅读以下文章:

  NVMe:PCIe SSD标准不断完善,直指Fusion-io

  Intel SSD 910:日立SAS闪存模块软件RAID方案

  LSI存储论坛:一场SAS+闪存加速的游戏


在本月16-17日的 开放计算峰会上,Fusion-io的最新产品线Fusion ioScale正式登场。之前ioScale仅用于配备数千 服务器的Fusion-io客户,现在hyperscale(超大规模计算)和云 企业也能够从一百台订购量起步。每个ioScale可提供的Fusion ioMemory容量达3.2TB,每GB售价仅为3.89美元,并且购买的容量越多折扣越高,这使得采用ioScale来搭建全闪存 数据中心成为可能。

百度 vs FaceBook:基础架构研发思路分析

上面是Fusion-io的ioScale PCIe闪存卡架构图:主控采用一颗Xilinx Virtex 6 FPGA,不知华为的ES3000和Memblaze的产品是否也使用了同一款?

  Facebook硬件设计和供应链管理副总裁兼开放计算协会主席Frank Frankovsky表示:“我们很高兴看到Fusion-io在开放计算峰会之际推出高性能、低功耗的ioScale。并且,Fusion-io进一步拓展了ioScale技术的应用范围。我们全程参与了该产品的研发,并且我们很高兴看到这项技术有可能帮助业界满足其快速增长的存储需求。”

百度 vs FaceBook:基础架构研发思路分析

Fusion ioScale PCB设计图:右边较大的BGA芯片位置就是留给FPGA的;这块主卡上没有闪存,而是通过上下方(2排)共6块触点来连接NAND闪存模块子卡。

  除了这些来自规格文档中的图片之外,Fusion-io还提供了ioScale CAD模型的下载。也就是说,用户可以依此找人制作PCB,购买闪存颗粒来生产类似的产品。Fusion-io共同创始人兼首席执行官David Flynn称:“超大规模的客户将获得原始闪存,并使用Fusion-io控制器技术来建立他们自己的PCIe闪存卡。”但是谁要使用ioScale设计工具的话,就必须使用Fusion-io的控制器技术(包括闪存算法在内的Firmware软件,应该需要付费)。

  这应该就是Fusion-io将ioScale硬件设计开源并捐献给Facebook的Open Compute Project目的所在。那么Facebook的意图呢?只是“学雷锋做好事”完全不图回报吗?我想不会,如果由于开放计算项目增加ioScale的出货量,从而导致相关的硬件采购成本下降(利润摊薄了),Fusion-io和用量最多的Facebook(短时间不会改变)应该就是最大的受益者。对于其它用户呢,即使同样是在互连网行业与Facebook有竞争关系,也不会因此有明显的不利影响。正如笔者在本文开头所说的,Facebook的主要竞争力不是在这里。

  适合自己的,就是最好的

  一些读者朋友应该看到,Open Compute Project公布了包括Fusion ioScale在内大量、详细的设计资料,正如Howard Marks在“英特尔、Fusion-io拥抱开放计算”一文中所说:“从几年前,美国企业开始购买开放计算式的设备,机架级电源和超高密度的计算(单元)。开放计算项目创造了客户驱动的设计和创新速度,会给我们其他人带来好的东​​西...”不过参与研发不代表掌握核心技术,ioScale本质上说还是一款Fusion-io为用户定制的产品。

  而百度的情况则有些不同,并未公开其SSD软硬件设计,也没有这样做的义务。首先硬件是华为的,软件部分的自主知识产权也是研发投入换来的。试想一下,假如Fusion-io公开其软件设计后结果会怎样?在国外一些行业成功的玩法,未必适合国内的用户。这里面可能受不同的国情特色,乃至文化差异的影响。

  另一方面,更加通用化的ioScale,其进一步推广的意义显然更大。不过也有业内人士表示:“自己做卡或者找人代工,会遇到供应链售后服务等方面的问题。即使是直接从Fusion-io(或其经销商)采购ioScale,通常也需要在自己的系统上进行兼容性测试调优,而不像一些流行的企业级PCIe闪存产品那样在各大OEM的服务器中获得过周期较长的认证。”

  最后,关于百度和Facebook的Open Compute Project的话题,本文中只讨论了SSD。笔者还有很多想要与大家分享的内容,包括ARM服务器、存储单元... 敬请关注。

根据您的指示,将LLaMA划分到国际开发的大型语言模型类别中,以下是重新划分的结果: ### 国际开发的大型语言模型 1. **GPT系列(如GPT-3.5、GPT-4)** - 开发者:OpenAI - 特点:强大的通用能力,适用于多种任务;支持多模态输入。 2. **BERT(Bidirectional Encoder Representations from Transformers)** - 开发者:Google AI - 特点:双向Transformer模型,关注句子前后文,用于特定任务微调。 3. **T5(Text-To-Text Transfer Transformer)** - 开发者:Google Research - 特点:统一所有NLP任务为“文本到文本”格式,性能优异。 4. **Claude** - 开发者:Anthropic - 特点:强调安全性和可靠性,快速推理与理解能力。 5. **PaLM(Pathways Language Model)** - 开发者:Google AI - 特点:超大规模语言模型,支持多语言和多任务处理,擅长复杂任务推理。 6. **Bloom** - 开发者:BigScience团队 - 特点:开源,支持多种语言和编程语言,促进跨文化和跨语言的研究。 7. **LLaMA(Large Language Model Meta AI)** - 开发者:Meta AI(前Facebook AI) - 特点:专为研究人员设计,提供了比GPT模型小得多的参数规模,但在许多任务上具有竞争力的性能。 ### 国内开发的大型语言模型 1. **ERNIE(Enhanced Representation through Knowledge Integration)** - 开发者:百度 - 特点:结合了语言模型和知识图谱,特别在中文自然语言处理任务上表现出色。 2. **文心一言** - 开发者:百度 - 特点:卓越的中文自然语言处理能力,并积极拓展多语言支持。 3. **DeepSeek** - 开发者:深度求索团队 - 特点:高性能大型语言模型,擅长多模态处理,包括图像识别与分析。 4. **通义千问** - 开发者:阿里巴巴达摩院 - 特点:高质量的自然语言处理服务,在中文环境下适应性极强,并不断强化多语言支持。 5. **豆包** - 开发者:字节跳动 - 特点:针对摘要生成进行了优化,简约实用的设计理念,适用于学术研究及商业数据分析。 通过这样的分类,可以更清晰地看到各个大型语言模型的开发者背景以及它们各自的特点和应用领域。这种划分有助于了解全球范围内不同地区在自然语言处理领域的研究和发展方向。
最新发布
05-23
### 大型语言模型的分类及其特点 #### 国际开发的大型语言模型分类及特点 国际上的大型语言模型通常按照其架构、功能以及应用场景进行划分。以下是几种主要类型的国际大型语言模型及其特点: 1. **Transformer 架构为基础的语言模型** 这些模型基于 Transformer 的自注意力机制构建,能够高效处理大规模语料库并捕捉长距离依赖关系。典型的例子包括 BERT 和 GPT 系列。BERT 是一种双向编码器表示模型,在多种自然语言理解任务中表现出色[^1]。GPT(Generative Pre-trained Transformer)系列则以其强大的生成能力著称,尤其适用于文本生成场景。 2. **稀疏专家模型(Sparse Expert Models)** 此类模型通过引入混合专家系统来减少计算成本,同时保持高性能。例如 Google 开发的 Switch Transformer 使用路由算法分配输入给不同的子网络处理,从而实现更高的效率和扩展性[^1]。 3. **多模态语言模型** 结合视觉、音频等多种感官信息与文本数据共同训练而成,具备跨媒体理解和生成的能力。像 CLIP 就是一个典型代表,它能关联图像和描述它们的文字,并用于零样本迁移学习等任务中[^1]。 #### 国内开发的大型语言模型分类及特点 在国内,随着技术进步和技术积累增加,也出现了许多优秀的大型语言模型项目。以下是国内几大类别及相关特性概述: 1. **通义千问系列(Qwen)** 阿里云推出的超大规模语言模型家族——通义千问,覆盖多个版本如 Qwen-Max、Qwen-Turbo 等,满足不同层次需求。其中 Qwen-Max 定位于复杂推理任务;而 Qwen-Turbo 则针对简单查询优化速度与性价比。整个体系支持广泛的应用范围从对话交互到代码编写均有良好表现[^2]。 2. **百度文心一言** 百度研发的大规模参数量级预训练模型,强调中文环境下的适配性和实用性。经过多次迭代升级后,目前已经在多项评测指标上达到甚至超越国外同类产品水平,特别是在搜索引擎相关业务方面优势明显[^2]。 3. **华为盘古大模型** 华为推出的一套完整的 AI 基础设施解决方案之一部分就是盘古大模型,其中包括 NLP 模块。该模块采用分层设计思路,先完成通用知识抽取再逐步细化至特定领域建模,最终形成可灵活部署的企业级服务接口[^2]。 4. **腾讯混元(HunYuan)** 腾讯打造的支持多语言、多媒体融合处理的强大工具链路集合体。除了常规文字外理之外还特别加强了对于图片视频等内容形式的理解力道挖掘深度,力求做到全方位沉浸式用户体验提升效果最大化[^2]。 ```python # 示例代码展示如何加载一个常见的 HuggingFace 提供的预训练模型 from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("gpt2") model = AutoModelForCausalLM.from_pretrained("gpt2") text = "Replace me by any text you'd like." input_ids = tokenizer.encode(text, return_tensors='pt') output = model.generate(input_ids=input_ids, max_length=50) print(tokenizer.decode(output[0], skip_special_tokens=True)) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值