From 309eeb16239195068adf001d0a2e1fcd66213d92 Mon Sep 17 00:00:00 2001 From: Cameron Pfiffer Date: Sun, 13 Sep 2020 09:24:30 -0700 Subject: [PATCH] Add GSoC blog post (#1405) --- docs/_posts/2020-09-11-gsoc.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 docs/_posts/2020-09-11-gsoc.md diff --git a/docs/_posts/2020-09-11-gsoc.md b/docs/_posts/2020-09-11-gsoc.md new file mode 100644 index 000000000..458ae47bd --- /dev/null +++ b/docs/_posts/2020-09-11-gsoc.md @@ -0,0 +1,24 @@ +--- +title: "Google Summer of Code 2020" +author: Cameron Pfiffer +date: 2020-09-11 +--- + +As the 2020 [Google Summer of Code](https://summerofcode.withgoogle.com/) comes to a close, the Turing team thought it would be a good opportunity to reflect on the work that was done by our superb students this summer. + +[Saranjeet Kaur](https://github.com/SaranjeetKaur)'s [project](https://summerofcode.withgoogle.com/projects/#6567464390885376) focused primarily on expanding [NestedSamplers.jl](https://github.com/TuringLang/NestedSamplers.jl). NestedSamplers.jl now supports [PolyChord-style](https://arxiv.org/abs/1506.00171) nested sampling natively, which is an absolute delight. Saranjeet wrote about this [here](https://nextjournal.com/Saranjeet-Kaur/extending-nestedsamplersjl). She also provided a good tutorial on how to use NestedSamplers.jl [here](https://nextjournal.com/Saranjeet-Kaur/illustrations-of-use-of-nestedsamplersjl). The NestedSamplers.jl integration with Turing is still on-going -- integrating new samplers with Turing is one of the more difficult tasks. If you are interested to see the progress on this, check out the relevant [pull request](https://github.com/TuringLang/Turing.jl/pull/1333). + +[Arthur Lui](https://github.com/luiarthur)'s [project](https://summerofcode.withgoogle.com/projects/#5861616765108224) was to provide a much-needed set of benchmarks of Bayesian nonparametric models between Turing and other PPLs. Arthur's work spawned a [GitHub repository](https://github.com/luiarthur/TuringBnpBenchmarks) with good practices for benchmarking, as well as three blog posts with some (very cool!) statistics on Turing's performance: + +1. [Dirichlet Process Gaussian mixture model via the stick-breaking construction in various PPLs](https://luiarthur.github.io/TuringBnpBenchmarks/dpsbgmm) +2. [Gaussian Process Regression Model in various PPLs](https://luiarthur.github.io/TuringBnpBenchmarks/gp) +3. [Gaussian Process Classification Model in various PPLs](https://luiarthur.github.io/TuringBnpBenchmarks/gpclassify) + +Finally, [Sharan Yalburgi](https://github.com/sharanry) (a returning GSoC student) completed an epic amount of work Turing's growing suite of [Gaussian process tools](https://summerofcode.withgoogle.com/projects/#5565948129443840). In particular, the GitHub organization [JuliaGaussianProcesses](https://github.com/JuliaGaussianProcesses) was founded, and serves as an effort to build a robust Gaussian process framework for the Julia ecosystem. The framework consists of multiple GP related Julia packages: + +- [KernelFunctions.jl](https://github.com/JuliaGaussianProcesses/KernelFunctions.jl) provides kernel functions for GPs as well as efficient AD for these kernels. KernelFunctions.jl also supports multi-output GPs by providing necessary data abstractions and multi-output kernels. +- [AbstractGPs.jl](https://github.com/JuliaGaussianProcesses/AbstractGPs.jl) defines GP abstractions and provides exact posteriors. It provides support for induced points based GP posteriors and for efficient sequential/online (sparse) GP updates. +- [GPLikelihoods.jl](https://github.com/JuliaGaussianProcesses/GPLikelihoods.jl) defines alternate likelihoods for Non-Gaussian GPs. +- [GPMLj.jl](https://github.com/JuliaGaussianProcesses/GPMLj.jl) provides a Julia interface for [GPFlow](https://github.com/GPflow/GPflow), a GP library written in Python using TensorFlow. + +Special thanks to our three GSoC students for this summer, who all did excellent work. Additional thanks to Google for supporting open source software development and the Julia language! \ No newline at end of file