# Is Variational message passing implemented in EP Stan?

**URL:** <https://discourse.mc-stan.org/t/is-variational-message-passing-implemented-in-ep-stan/3480>\
**Category:** General\
**Tags:** stan-math\
**Created:** [March 6, 2018, 5:17am UTC](https://discourse.mc-stan.org/t/is-variational-message-passing-implemented-in-ep-stan/3480 "2018-03-06T05:17:15Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Bhomass1](https://avatars.discourse-cdn.com/v4/letter/b/898d66/32.png) [@Bhomass1](https://discourse.mc-stan.org/u/Bhomass1)\
**Post date:** [March 6, 2018, 5:17am UTC](https://discourse.mc-stan.org/t/is-variational-message-passing-implemented-in-ep-stan/3480/1 "2018-03-06T05:17:15Z")

</div>

Hi, I have been using EP-stan in its simulation mode. I start reading Gelman’s EP paper which mentions the variational approach as one of the alternative methods. I know ADVI is part of stan, but not parallelized. I am wondering whether there is any parallel implementation of the variational approach in the works along the line of EP-stan.

---

<div class="post-metadata">

**Author:** ![avehtari](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/avehtari/32/5935_2.png) [@avehtari](https://discourse.mc-stan.org/u/avehtari)\
**Post date:** [March 6, 2018, 4:28pm UTC](https://discourse.mc-stan.org/t/is-variational-message-passing-implemented-in-ep-stan/3480/2 "2018-03-06T16:28:41Z")

</div>

> [@Bhomass1](#):
>
> I am wondering whether there is any parallel implementation of the variational approach in the works along the line of EP-stan.

No. We need to get ADVI first more reliable and we are working on that.

---

<div class="post-metadata">

**Author:** ![Bhomass1](https://avatars.discourse-cdn.com/v4/letter/b/898d66/32.png) [@Bhomass1](https://discourse.mc-stan.org/u/Bhomass1)\
**Post date:** [March 6, 2018, 6:46pm UTC](https://discourse.mc-stan.org/t/is-variational-message-passing-implemented-in-ep-stan/3480/3 "2018-03-06T18:46:37Z")

</div>

As I understand advi is not a parallel computing implementation right now. Will it be once you complete it’s improvement?

---

<div class="post-metadata">

**Author:** ![avehtari](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/avehtari/32/5935_2.png) [@avehtari](https://discourse.mc-stan.org/u/avehtari)\
**Post date:** [March 6, 2018, 6:53pm UTC](https://discourse.mc-stan.org/t/is-variational-message-passing-implemented-in-ep-stan/3480/4 "2018-03-06T18:53:55Z")

</div>

> [@Bhomass1](#):
>
> As I understand advi is not a parallel computing implementation right now. Will it be once you complete it’s improvement?

We will make further decisions after we have something we can recommend to be used (ie it needs to have reliable diagnostic (solved) and it needs to work reliably in a regime we can describe sufficiently). EP-life style parallel ADVI is not on the top of todo list. ADVI will benefit from MPI and GPU parallelizations which are in progress.

---

<div class="post-metadata">

**Author:** ![Bob\_Carpenter](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.mc-stan.org/bob_carpenter/32/9230_2.png) [@Bob\_Carpenter](https://discourse.mc-stan.org/u/Bob_Carpenter)\
**Post date:** [March 7, 2018, 10:29pm UTC](https://discourse.mc-stan.org/t/is-variational-message-passing-implemented-in-ep-stan/3480/5 "2018-03-07T22:29:46Z")

</div>

> [@Bhomass1](#):
>
> Will it be once you complete it’s improvement?

Nothing’s ever complete! But no, we’re not planning on parallelizing it until we can understand the serial version. I think PyMC3 and Edward both have stochastic variational inference implemented.
