0%

典型的集群服务里有 N 台机器,正常情况下一个请求会随机地分配到某一台服务器上。对于分布式缓存服务,我们会要求同一个 key 的请求都落在同一台机器上,那么我们可以根据 key 对机器数目进行取模得到目标服务器。但这会造成一个问题,如果我们需要增加一台服务器,那就需要对当前已经存在的缓存全部换入换出,无法平稳过渡。这就引出了一致性 Hash 算法。

Read more »

在工作中遇到一些 JNI 调用,这里记录一下。需求比较复杂,从 Java 端看,它需要向 JNI 传递一个 Interface 的回调接口对象,然后 JNI 内部去回调它。调用链是:JAVA->JNI->CPP->JAVA(回调)。从上层的 java 代码上看是这样子的

Read more »

现在手头上接触的很多线上功能都使用了 transformer 这种深度学习的模型(手头上的 ASR 和 TTS 都不约而同的用了),虽然我只做工程的实现(对我就是调 API 的),但也还是想稍微深入学习一下 transformer 相关知识。

Read more »

上一次讲了 C++ 的,这一次因为遇到了 JNI 的需求,所以又有类似的需求。一般而言 Java 跨平台性很好,正常不需要远程调试,不过摊上了 JNI 就不太行了,C++ 总是有一些平台特有的库。实际上 Jetbrains 全家桶都支持 Docker 化的调试编译,我没有仔细去研究,但看上去像只是把 docker 的基本功能包装了一下,功能比较弱,基本的用处在于部署而不是调试。所以这里我还是使用 remote debug 的方式实现,这个方法不仅适用于 Docker 也可以适用于远程服务器。

Read more »

走吧,自由啦。你会原谅我吧。

距离我上次更新博客已经是 N 久以前了(其实中途还有几篇草稿夭折了)。在开设博客之初有个小目标是每个月一篇博客,刚开始还是坚持了一段时间,后面的更新就越来越随缘了起来。这就像我练小提琴,虽然也不算完全放弃,但总是走走停停而毫无长进。我有时候痛恨自己的散漫,却又无能为力(工作忙这个借口太好用了!)。

Read more »

我们经常会遇到本地开发,但最终需要部署到服务器的情况。对于服务器部署,我们会选择使用 Docker 部署,但对于本地开发而言就略微有点不爽了。因为我们的本地环境(比如 Mac )和 Docker 内的环境(一般是各种版本的 Linux)不一致,导致我们没办法很好地使用 IDE 的一些功能。

Read more »

实际上对于 Logistic Regression 也是可以应用贝叶斯方法的。但直接应用非常困难。因为在贝叶斯框架下计算后验概率,我们需要对其做归一化的操作。而在 Logistic Regression 中,假设我们有 N 个数据点,那么在似然函数中就会有 N 个 sigmoid 函数连乘。这在归一化时会很麻烦,基本告别解析计算。

Read more »

时隔近半年的更新来了(我是罪人)。其实已经写好了两篇,还有一篇讲核方法以及随笔写到一半),所以今天就一次性放出两篇博客。博客所依赖的库之类的也多半过时了,一并升级了下。

好了言归正传,PRML 里面介绍了一种糙但是管用的近似方法,称为 Laplace Approximation 。它可以用于近似条件概率的概率分布函数,可以说是一种很粗暴很简单的方法了。它仅适用于连续变量,用于近似的函数为高斯函数。

Read more »

这篇记录了一下回归损失函数的推导过程,主要是 PRML 的式 1.88 和式 1.90。我在 Google 上搜了过 1.88 的推导。有一些中文博客的推导,不过写的什么 J8 玩意,看着推导的时候被带到沟里去了。最后找了 stackexchange 以及这里 stackexchange 才算得到完美解答。

Read more »