`
文章列表
成本估算 chatGPT单次搜索成本: 预计 0.010美元/次 。 若采用2-Stage Search Summarizer 补足当前的时效、准确问题的话,成本上升至 0.066美元/次 服务器在线推理成本: 约为0.0035美元/1000词 服务器单次训练成本:140万美元/次 ,一次训练14.8天。 成本发展趋势(工程挑战) 数据是LLM性能的新瓶颈:与增加高质量训练数据集的大小相比,增加模型参数的数量能获得的边际收益越来越小。 LLM的成本可能会显著下降:自GPT-3发布的两年半时间里,与GPT-3性能相当的模型的训练和推理成本下降了约80% Googl ...
应用背景 诸多业务场景下,都有使用kv型式存储数据供快速查询的需求。正常的做法有使用HashMap存入内存,或者存入外部的nosql KV数据库/缓存。 使用HashMap做KV存储,速度快,但是如果数据量达到百万及至千万级时,HashMap必将占用大量的java堆内存,给应用带来极大的内存回收压力。 外部kv存储,以堆外(offHeap)存储的方式让我们的应用免于内存回收之忧,但其查询性能往往低于内存map。假设采用外部db的方式作kv存储,就会引入服务之间的通信成本,以基于LR(逻辑回归)实现推荐系统的打分服务为例,每次打分,须执行近求成百上万次kv查询(lr参数的查询),如此的 ...
极为合理的测试需求 “双一十”将近,作为一个电商应用的开发人员,也是时候操心一下自己管理服务的性能问题了。平时跑得好好的服务应用,能否承受的住双十一,尤其是午夜时刻的流量冲击?到底是要加机器还是要做服 ...
本文分两部份,第一部份为译:是对是对于lucene事务的一篇佳作《Transactional Lucene》的翻译。第二部份为解:是本人对一文中提到一些概念在源码层次的一些理解分析,参考lucene源码版本为4.10.4。《Transactional Lucene》中还提到了 ...
在上文 开源服务内部监控系统(一),简单介绍了一下开源监控系统Graphite。本篇将简单介绍一下颇有名气的Ganglia与个人的使用体验。从功能上讲,Ganglia远比Graphite强大。除了监控服务内部状态之外,Ganglia本身就能做到对服务器节点状态(包括CPU使用,load,memory占用,network占用)的整体监控。 Ganglia的架构 Ganglia是一个可扩展的,分布式监控系统。我google翻译了一下单词Ganglia,有神经节的意思,正如其名,Ganglia正是采用了层次化的设计思想为大规模的分布式集群而设计的服务感知系统。按官说介绍,ganglia可支持2 ...
开源监控系统,大名鼎鼎的有nagois,catis。公司就有运维采用nagios作服务器与服务状态监控,同时结合插件提供邮件短信报警功能;catis通过snmp协议对服务器进行监控,利用RRDTool绘制漂亮的报表供你做性能分析。这些是运维人员的利器,然而服务开发人员却很少去使用这样的工具,因为它们难以做到对我们开发的服务内部运行状态的监控。假如,你想监控自己开发服务的响应时间,五分钟一个点去绘制报表,或者监控你的服务各个时间内部缓存命中率等信息,这些工具基本帮上不忙。 常用方案 为了满足这类需求,很多时候,开发人员会是自行开发一套监控系统,将服务内部的状态,定时发往监控服务器,将这些状 ...
近期是对storm做了不少的研究与分享,包括我的前一篇文章的《数据处理神器storm的理解与思考 ——让你的数据化作行云流水》,无论是看官方的文档,还是看其他第三方文献介绍推荐,总会让你觉得各种高端先进,毕竟它代表了一种比较新潮的设计思想,刚开始接触了解的人更会跃跃欲试。然而storm是否真如看上去那么美?还是说,storm只是另一个喜好新鲜事物的开发者把玩的玩物?这些都需要亲自尝试过才会得知。归根到底,我们应该问的问题是:我们的任务是否适合利用storm来实现? 前段时间,为做日志分析系统的改造,尝试实践了一套flume->kafka->strom->database的 ...
大数据之殇 要问storm是什么?简单答复就是:storm对于实时计算的相当于hadoop对于批处理。两者代表的对大数据处理的两种不同方式与态度,即hadoop代表的批处理方式,与storm为代表的流式计算。先不扯流式计算是个什么鬼。如果 ...

闲扯kafka mq

本文主要讲解关于kafka mq的设计思想及个人理解。关于kafka的详细信息,大家可以参考官网的文献http://kafka.apache.org/documentation.html这是一篇相当不错的文章,值得仔细研读。   第一个问题:消息队列(Message Queue)是干嘛用的? 首先,要对消息队列有一个基本的理解。不少人虽然在用消息队列,却并没有搞清楚消息队列是干嘛的。 有人会回答,消息队列就是为了分发消息用的。这当然没错,废话总是真理嘛。那么,消息队列是用来提高性能,加速消息传输的吗?显然不是,消息队列虽然提供了数据上的冗余,但它不是一种缓存。如果你想加速,直接在把生 ...
本文链接: http://quentinXXZ.iteye.com/blog/2180215 引言      做搜索技术的不可能不接触分词器。个人认为为什么搜索引擎无法被数据库所替代的原因主要有两点,一个是在数据量比较大的时候,搜索引擎的查询速度快,第二点在于,搜索引擎能做到比数据库更理解用户。第一点好理解,每当数据库的单个表大了,就是一件头疼的事,还有在较大数据量级的情况下,你让数据库去做模糊查询,那也是一件比较吃力的事(当然前缀匹配会好得多),设计上就应当避免。关于第二点,搜索引擎如何理解用户,肯定不是简单的靠匹配,这里面可以加入很多的处理,甚至加入各种自然语言处理的高级技术,而比较 ...
原文链接:http://quentinXXZ.iteye.com/blog/2176345 1、Cache Cache对于代码系统的加速与优化具有极大的作用,对于码农来说是一个很熟悉的概念。可以说,你在内存中new 了一个一段空间(比方说数组,list)存放一些冗余的结果数据, ...

写于2015年1月1日

  2014年是结束学生生涯,步入职场的一年。让我自己都感到意外的,我的第一次跳槽居然也发生在这一年。生活本不是随波逐流,不论别人看来,我不放弃对自己命运的主动权,我为自己不足道的奋斗所换得的有限自由与任性感到骄傲。 2014经历不少,但远远不够。可以确信无疑的一点是,过去的我浪费了太多的时间,即便忙碌,也是瞎拆腾。这是2015我要改变的一个状态。 2014仍有遗憾,还算精彩,日子过得比过去都要丰富,这主要功归于我所结识的新老朋友的陪伴,这一切我越来越珍视。 2014,与你共渡,2015,依然有你。 3q                                       ...
本文链接:http://quentinXXZ.iteye.com/blog/2159052      昨天,一个搞android安全方向的朋友让我帮忙试一下java的反射,要求就是:利用java反射机制获得private class与其它package中default class的实例。这确实是一个比较奇葩的要求,估计也就是android这种平台加上是安全方向的,才常会有这样的需求。      不费话了,众所周知,利用java的反射机制,能做很多java本身限制以外的事情,比方说,获得一个实现的prviate属性或是调用其private的方法,这些都是通过正常使用反射都能实现的。 ...
本文链接: http://quentinXXZ.iteye.com/blog/2153210 场景需求与分析 我们的做法,一般将索引构建大致分为两类操作,一为全量索引构建,二为增量索引构建。使用solr建索引,一般会在初始状态的时候,进行一次全量构建,根据当前 ...
  本文链接: http://quentinXXZ.iteye.com/blog/2149891 上一周,对公司搜索引擎工作流程的做改造工作。涉及到不同角色服务器之间的沟通工作。我们试图应用zookeeper到我们的场景,实现应用模块之间的解耦。本文深入到solr源码,从中掘金,看看solr是如何使用zookeeper的。 在做本次改造的时候,公司同事对于zookeeper的使用,提供了很好的建议,其中一个重要原则就是“谁创建,谁修改”,也就是各个服务应用自己创造自己的结点,自己去修改配置自己的最新状态。一般情况下,对结点的修改是结点的创建者,而不应该是其它对些结点数据的关注者,不然 ...
Global site tag (gtag.js) - Google Analytics