自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

KingWang@whu的博客

保持一颗好奇心https://github.com/KingWang93

  • 博客(68)
  • 资源 (2)
  • 收藏
  • 关注

原创 【Java】classpath的理解及其使用方式

笔者之前对于classpath都没有什么深入的研究,之前的项目打包jar包都是按照网上的教程自己照着葫芦画瓢。但是因为最近碰到一些关于这方面的知识,因此索性觉得要好好补充一下这方面的知识。下面的文章主要是翻译自oralce官网关于设置classpath的说明Setting the class path,并对其中一些地方进行了部分的补充说明,方便读者理解。概要classpath是Java运行时环境搜索

2017-09-12 01:20:11 66664 4

原创 【Vertx】利用vertx实现websocket数据推送

前言 vertx是一个基于JVM、轻量级、高性能的应用平台,非常适用于最新的移动端后台、互联网、企业应用架构。 Vert.x基于全异步Java服务器Netty,并扩展出了很多有用的特性。Vert.x的亮点有: 【同时支持多种编程语言】目前已经支持了Java/JavaScript/Ruby/Python/Groovy/Clojure/Ceylon等。对程序员来说,直接好处是可以使用各种

2017-07-30 17:51:06 14790 1

原创 【Protocol Buffer】Protobuf的序列化和反序列化

前言 目前主流的几种数据交互的格式主要有xml、json、protobuf等等。一般的web项目中,最流行的主要还是json。因为浏览器对于json数据支持非常好,有很多内建的函数支持。xml数据格式在webservice中应用最为广泛,但是相比于json,它的数据更加冗余,因为需要成对的闭合标签。json使用了键值对的方式,不仅压缩了一定的数据空间,同时也具有可读性。protobuf是后起之秀

2017-07-12 21:22:13 19292 2

原创 【Hadoop】基于Hadoop/Hbase/Hive的小型离线服务器日志分析应用

1、项目简介 本项目主要设计一个基于Hadoop的日志分析系统。其中的日志数据主要来自于某系统开发测试期间的服务器访问日志数据(Tomcat),通过对这些日志数据利用正则表达式等技术手段进行处理,提取出匹配到的目标数据信息,将其进行归类化处理,而对日志分析处理方式中,本文探究了直接利用Hadoop的日志分析功能和利用Hadoop+Hbase+Hive结合的技术实现对日志进行分析的功能,作为...

2017-03-14 01:10:20 5304 2

原创 FlashAttention-2:GPU利用率从50%干到90%,同一个作者的自我进化

上一篇我们聊了FlashAttention——通过减少GPU显存和缓存之间的数据搬运,让注意力机制的速度提升了3倍。那个方法很漂亮,但作者Tri Dao觉得自己还能做得更好。一年后,他交出了FlashAttention-2。如果说FlashAttention是"发现了一条近路",那FlashAttention-2就是"把这条路修成了高速公路"。目的地完全一样——精确的注意力计算,不做任何近似——但速度又快了。他是怎么做到的?。

2026-06-11 10:26:06 308

原创 FlashAttention:GPU上“偷懒“的艺术,凭什么让所有大模型都离不开它?

2022年,斯坦福大学等机构的研究团队(主要由博士生Tri Dao主导)发了篇论文,标题很朴实——FlashAttention。听起来不像什么革命性的东西,对吧?但这篇论文的影响力是爆炸级的。它不是提出了一种新的模型架构,也不是发现了一种新的训练范式。。就这?但结果是:几乎所有主流大模型都采用了它。GPT-4用了,Gemini用了,Llama用了,Claude也用了。在不到一年时间里,FlashAttention从一个学术项目变成了行业标配。为什么?

2026-05-31 22:32:02 396

原创 越大越好?Chinchilla说:你可能练错了

2020年,OpenAI发布了一篇轰动业界的论文——Scaling Laws。它的核心结论简单粗暴:想要更强的模型,就堆更多的参数。一时间,全行业都在疯狂造大模型,千亿参数成了标配,万亿参数也不是梦。这就是今天要聊的这篇论文——,全名《Training Compute-Optimal Large Language Models》。它用一个精妙的实验设计,给整个行业上了一课。

2026-05-23 22:50:15 365

原创 大力出奇迹的背后:OpenAI找到了炼丹的物理定律

幂律说的是这么回事:当你把某个变量乘以 k 倍,结果会以 k 的某个固定次方的比例变化。用公式写就是 L ∝ x^{-α}。翻译成人话:你每把参数量翻10倍,loss 就会下降一个可预测的固定比例。不是一个大概的趋势,而是一条在对数坐标上近乎完美的直线。这意味着什么?意味着你可以提前预测一个更大的模型会有多好。在它还没训练完之前,你就知道结果。这对于一个动辄花几百万美元训练模型的公司来说,价值不言而喻。

2026-05-16 13:53:58 370

原创 OpenAI做了一次豪赌:不给任何指令,让模型自己学会所有任务

2019年2月,OpenAI发表了一篇论文。论文本身并不长,但它做了一件之前没有人敢认真尝试的事。他们训练了一个15亿参数的语言模型,给它一个输入,不给任何额外的训练样本,不需要更新任何模型参数,只依靠输入的文本提示,它居然就能做翻译、做摘要、做问答。这在当时叫zero-shot learning。模型从没见过这些任务的训练数据,但它就是会做。OpenAI自己也吓了一跳。他们认为这个模型太强大了,可能被用来生成假新闻,所以最初只发布了小版本,完整模型后来才慢慢放出。

2026-05-10 14:09:28 399

原创 GPT-1:第一次证明「先预训练,再微调」这条路走得通

2018年6月,OpenAI发表了一篇论文,标题是"Improving Language Understanding by Generative Pre-Training"。这篇论文在当时的关注度远不如BERT——后者在几个月后横空出世,11项NLP基准测试同时刷新,抢走了所有风头。但回头看,GPT-1才是那条后来被证明更有潜力的路线的起点。它第一次清晰地展示了:用生成式预训练(预测下一个词)获得的语言表示,可以在各种NLP任务上通过微调取得很好的效果。BERT走了理解的路,GPT-1走了生成的路。

2026-05-08 21:49:07 325

原创 BERT的思路到底有多简单?简单到让人怀疑:这也行?

2018年10月,Google扔了一颗炸弹。BERT在11项NLP基准测试上同时刷新纪录。这在当时是不可想象的——之前每个任务都有专门的模型,从来没有人用一个模型通杀所有任务。整个学术界和工业界都震惊了。但当你真正理解BERT做了什么之后,你会发现它的核心idea简单到让人怀疑人生。简单来说就是:把一句话里随机15%的词遮住,让模型根据上下文猜被遮住的是什么。没了。就这?就这居然能刷新11项纪录?让我们慢慢拆开看,为什么这个看似幼稚的想法,实际上是NLP历史上最优雅的设计之一。

2026-05-08 09:12:13 359

原创 不夸张地说,这篇论文,改变了整个AI的历史走向

两个向量的点积,衡量的是它们的"方向一致性"。方向越一致,点积越大。所以Query和Key越相似(方向越接近),注意力分数就越高。但这里有一个问题:如果向量维度很大,点积的值也会很大。值一大,softmax就趋向于"赢者通吃"——最大的那个分数接近1,其他全部接近0。这不是我们想要的。所以论文里除了一个根号d_k(Key的维度),相当于把分数拉回来。这个细节虽小,但很关键。没有这个缩放,注意力分布会太"尖锐",模型只能关注一个词,失去了综合考虑的能力。

2026-05-07 13:37:08 457

原创 从Transformer到GPT-3:这五篇论文串起来,就是大模型的前传

如果你问一个AI从业者:今天的大模型时代是怎么来的?答案通常会指向一个起点:2017年的Transformer。但从Transformer到ChatGPT,中间还有几步关键的跳跃。今天这篇文章,我们把阶段一的五篇论文串起来看,讲清楚每一步为什么重要,以及它们之间怎么互相呼应。

2026-05-05 23:04:30 774

原创 什么是广告超播

目录1,什么是超播?2,超播发生的原理2.1 广告上下线2.2 从不同视角看超播2.2.1 按照计费类型2.2.2 按照站内和站外角度来看2.2.3 从成本来看3,什么场景下会发生超播3.1 从商家作弊的角度上看3.2 从平台的角度上看4,如何防止超播?4.1 提高实时性4.2 流量控制4.2.1 PID4.2.2 Budget pacing4.2.3 概率控制4.3 广告预下线4.3.1 方式一:设定阈值buffer4.3.2 方式二:广告消耗预估5,业界对于超播的常规做法5.1 广告主投放后台的角度5.

2021-10-04 00:05:36 17824

原创 【SparkSQL】partitionColumn, lowerBound, upperBound, numPartitions的理解

如何加快数据的读取过程 利用SparkSQL读取数据库数据的时候,如果数据量很大,那么在读取数据的时候就会花费大量的时间,因此,怎么让数据并行读取加快读取数据的速度呢?在SparkSQL中,读取数据的时候可以分块读取。例如下面这样,指定了partitionColumn,lowerBound,upperBound,numPartitions等读取数据的参数。关于这四个参数的意思,Spark

2018-01-14 09:47:33 8521

原创 【Postgresql】数据库postgresql 10的data目录迁移(不用重新安装)

安装后默认的目录: /var/lib/pgsql/{version}/data1,哪儿启动的数据库?数据库服务一般开机自动启动,那么就可以顺藤摸瓜找到相关的service。 对于postgresql10,它的服务名为postgresql-10.service,该文件的路径为: /usr/lib/systemd/system/postgresql-10.service

2018-01-13 22:40:37 24194 2

原创 【Data Structure/Algorithm】LCSS算法实现

最近在写一个关于路网处理的小论文,在写作中碰到一个问题就是,高德路网数据有很大一部分的道路没有路名。因此笔者想着利用OSM上的路网作为补充,看能不能进行数据的补充。整理思路如下:首先对高德路网和OSM的路网整体进行R树索引的建立对高德路网中的没有道路名称的道路,求解其MBR,然后进行R树查询查找到与其相交的OSM路网的道路。遍历上面求交后的结果,利用LCSS算法,求出匹配的道路。文中的R树建

2017-12-25 14:09:42 8485

原创 【OpenResty】lua脚本实现nginx自定义log

1,OpenResty(Nginx)Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特

2017-12-01 19:36:16 10561

原创 【Thrift/Vertx】关于Thrift和Vertx的服务整合

官网上都有关于Thrift的新手demo示例,本文主要讲解其中一项,就是怎么整合Thrift和Vertx。Vertx是一种事件驱动的异步框架,需要JDK8支持,开发过程中很多都需要用到lambda表达式。vertx的简要介绍可以参考笔者之前的一篇文章:【Vertx】利用vertx实现websocket数据推送1,首先定义thrift接口文件定义thrift文件的规则请参看thrift官网,http:

2017-11-26 22:05:05 3565

转载 【Java】ArrayList的源码分析

本文只是摘取网上的几篇博客1,源码分析https://www.cnblogs.com/ITtangtang/p/3948555.html http://blog.youkuaiyun.com/jzhf2012/article/details/8540410 http://blog.youkuaiyun.com/ns_code/article/details/355680112,源码分析中遇到的几个问题(1)代码中的en

2017-11-13 20:35:11 2386

原创 【Java】addShutdownHook函数的用法和注意事项

最近在看gRPC的一个Demo中,看到一个比较有意思的写法,程序中使用了addShutdownHook()函数。addShutdownHook()函数的用法如下:/** * Registers a new virtual-machine shutdown hook. * * <p> The Java virtual machine <i>shuts down</i> i

2017-11-11 00:24:53 14628 1

转载 【Java】Java基础知识之HashMap源码分析(Java8)

java基础知识回顾---HashMap实现原理

2017-11-06 11:32:40 2350

原创 【Data Structure/Algorithm】排序之归并排序

本文针对《Algorithms》Fourth Edition书中的归并排序做一个总结,当做学习笔记以作记录。1,归并排序的算法原理归并排序算法的步骤为:(1)将数组逐步拆分成两个子数组,直至每个数组的大小为1。(2)因为分割到最后,数组的大小为1,因此,这个时候,就相当于数组已经排序(3)对数组进行两两合并排序,首先是合并数组大小为1的子数组,合并完之后数组大小为2,然后继续合并排序,得到大小为

2017-10-12 16:42:22 2520

原创 【Data Structure/Algorithm】排序之冒泡排序

排序算法中最入门的一个排序算法就是冒泡排序,面试中经常会考到的一个基础题目。那么什么是冒泡排序呢?以及冒泡排序算法的基本原理是什么呢? 本文会一 一解答。1,冒泡排序及其原理 原理:比较两个相邻的元素,将值大的元素交换至右端。 思路:第一趟,依次比较相邻的两个数,将小数放在前面,大数放在后面。重复第一趟步骤,每次从数组的第一个元素从头开始,直至全部排序完成。2,示例(本示例摘自ht

2017-09-25 13:34:13 2591

原创 【Oracle】数据库乱码问题的解决

1,查看服务端的字符集 select userenv(‘language’) from dual; 更详细一点可以用下面的sql方式查看 select * from nls_database_parameters;2,windows下查看客户端的字符集 查看注册表信息 win+r,输入regedit,打开注册表 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KE

2017-09-17 19:38:35 4221 2

原创 【Oracle】NLS_LANG详解

关于NLS_LANG字符集设置,网上的说法不一,下面这篇文章我觉得讲的不错。 同时贴出 Oracle官网的关于NLS_LANG的讲解: https://docs.oracle.com/cd/B28359_01/server.111/b28298/ch3globenv.htm转自:http://www.cnblogs.com/rootq/articles/2049324.html一、什么是Orac

2017-09-17 17:58:56 4293

原创 【Java】反射之Class.forName()

Java中比较重要的一个特性就是反射,可能对于初级编程几乎没有什么接触,但是对于后期的高阶编程中是一个不可或缺的知识点。这里面涉及到的知识点就有jvm的class加载机制。这一机制在这篇文章: 深入分析Java ClassLoader原理中,有很好的讲解。1,什么是反射?按照oracle官网的介绍,反射的概念如下:Reflection enables Java code to discover i

2017-09-12 23:00:03 8711

原创 【Maven】Maven invalid LOC header (bad signature)的错误处理

在eclipse中使用maven进行项目的依赖引入的时候,偶尔可能会出现标题所示的错误。该错误导致的原因就是maven插件下载下来的jar有问题,导致jar读取不到。 如果笔者在eclipse中安装了反编译的插件(可以从eclipse的插件市场安装),那么就很容易根据错误定位是哪个包出了问题,因为如果没有出问题的话,正常的jar是可以编译出来的,里面的class文件都是可以获取的。但是非正常的ja

2017-09-12 10:07:49 4303

原创 【Java】关于路径.和..以及/的说明

一张图说明,大家也可以尝试在Windows的dos窗口下尝试使用cd命令改变路径,观察一下这几个的区别。 直接放图,通俗易懂!

2017-09-12 01:23:53 2470

转载 【Oracle】Clob字段读取,写入,更新

原文:http://bijian1013.iteye.com/blog/2282419

2017-09-09 22:56:56 8328

原创 【GeoTools】shp文件坐标转换

前言:GeoTools是一个开源的GIS开发工具,可以用来arcsde的开发,gis相关的文件转换读写,JTS等空间计算方法。GeoTools is an open source (LGPL) Java code library which provides standards compliant methods for the manipulation of geospatial data, fo

2017-09-09 22:17:56 8902 1

原创 【ArcSDE/Oracle】配置Oracle使SQL可以对ST_GEOMETRY类型操作

下面要使用sde中的相关的动态链接库,因此需要事先安装好arcsde和oracle。1,测试用例select sde.ST_AsText(SDE.ST_Geometry(‘POINT (10 10)’, 0)) from dual;2,配置listener.ora、tnsname.ora和extproc.ora如果出现以下错误: ORA-28595: Extproc 代理: DLL 路径无效 O

2017-08-24 17:24:12 3587

原创 【ArcSDE】ArcSDE服务的创建

ArcGIS 10.2全系列软件下载地址本博文主要是针对ArcSDE的SDK Java开发者,并且是服务连接方式开发的(程序中),至于程序中直连和服务连接开发的区别在笔者的另一篇博文中已经介绍了【ArcGIS】利用ArcGIS 的Java API实现SDE数据库的直连和服务连接,笔者尝试了直连方式利用sde 的sdk java版开发,但是失败了,因为arcgis只在9.3的时候公布过arcsde的s

2017-08-24 17:01:26 5981

原创 【反向代理】跨域解决方式之一——反向代理

笔者在前几天遇到一个跨域问题,请求一个地图瓦片服务,但是地图瓦片服务地址由另一个地图服务商提供的,按照传统的后端解决跨域的手段,主要有两种:(1)后端设置CORS(这个需要第三方CORS的jar包) (2)对后端设置跨域访问(即在get或者post等方法中设置 response.setHeader(“Access-Control-Allow-Origin”, “*”);)具体可以参考:解决跨域的方

2017-08-05 00:29:44 5502 1

原创 【GDAL/OGR】利用GDAL/OGR读取shp文件并转换为json文件(Java版)

前言: 对于GIS开发者来说,GDAL/OGR是最熟悉不过的开源GIS库了,GDAL(Geospatial Data Abstraction Library)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。OGR是GDAL项目的一个分支,功能与GDAL类似,只不过它提供对矢量数据的支持。GDA

2017-08-04 23:13:24 3921 4

原创 【ArcGIS】利用ArcGIS 的Java API实现SDE数据库的直连和服务连接

ArcGIS提供的API说明: ArcGIS java API地址上面可以看出来,ArcGIS提供了两种方式的数据库连接,一种是直连,一种是服务连接。连接数据库代码:package test;import java.net.MalformedURLException;import java.sql.Blob;import java.sql.Connection;import java.sq

2017-07-31 17:12:47 3228

原创 【PL/SQL】PL/SQL使用的几点技巧

1,查看执行计划,explain window2,查看oracle函数用法ctrl+左键3,快捷替换快捷输入SQL语句,例如输入s,按下空格,自动替换成SELECT;再例如,输入sf,按下空格,自动替换成SELECT * FROM,非常方便,节省了大量的时间去编写重复的SQL语句。 设置方法:菜单Tools –> Preferences –> Editor –> AutoReplace. –>

2017-07-31 16:17:18 715

原创 【Github】Eclipse导入GitHub上的项目

1,找到你所要导入项目的GitHub地址 2,eclispe 导入 切换eclispe的git视图 如果你的eclispe里没有打开这个窗口,就需要在window–show view–Git Repositories里面打开它。然后再在该窗口下点击clone a git repositories之后就出现这个窗口将刚才复制的URL粘贴到URI中,next然后出现如下窗口,需要选择其中一个tag

2017-07-31 16:14:30 745

原创 【Oralce 12c】关于Oracle 12c几点需要注意的

1,jar包 对于java开发者而言,需要更换jar包,Oracle 12c的jar包更新,需要的是:odbc8.jar 2,时间格式 oracle 12c在利用jar包进行开发的时候,在获取时间字段字符串的时候,即resultset.getString(时间字段),获得的格式是yyyy/mm/dd hh:mm:ss.0,秒后面会有一个 .0。因此,我们需要进行处理,replace(“.0”,

2017-07-31 15:33:20 1793

原创 【MongoDb】MongoDb的hello world实例(Java版)

本次实验,前提是已经安装好mongodb环境。查看是否安装mongodb:其中需要用到相应的jar包 mongo-2.10.1.jarpackage dao;import java.util.ArrayList;import java.util.Date;import java.util.List;import java.util.function.Consumer;import org

2017-07-31 14:43:04 442

Google map API开发

google地图开发。谷歌地图 Google Maps API是Google自己推出编程API,可以让全世界对Google Maps有兴趣的程序设计师自行开发基于Google Maps的服务,建立自己的地图网站。

2013-10-01

MATLAB与VisualC_接口连接方法浅析

本文档在于帮助大家了解Matlab与VisualC的接口,实现两个不同编程环境间的链接,可以充分利用matlab矩阵运算的方便。适合这方面的开发员入手!

2013-10-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除