Skip to content

Request: FAQ section #437

Open
Open
@torfjelde

Description

@torfjelde

IMO we should have a FAQ section for typical issues people face so that we can easily point them to this resource rather than repeat answers constantly. In particular because we're increasingly getting new users who are not familiar with Julia on its own, and so they might not know "trivial" details like "AD comes in a separate package", "Distriubtions are from Distributions.jl", etc.

Here's a list of a few questions I have in mind:

  1. "predict isn't working with my missing values"
  2. "Why is my model slow?"
    • We should of course just update the performance section quite drastically, but for the time being it would be useful to have a few pointers + tell people to use TuringBenchmarking.jl to benchmark different approaches.
    • There are two aspects to "slow sampling": computational and sampling complexity.
    • Computational:
      1. ForwardDiff.jl is good for low dim models, e.g. <100.
      2. ReverseDiff.jl with compilation is recommended for higher dim models, e.g. >= 100.
      3. Zygote.jl is usually quite slow and can take ages to compile (link to my issue on Zygote.jl compilation times).
      4. Use TuringBenchmarking.jl to benchmark different models.
      5. Avoid indexing, e.g. replace y[i] ~ Normal(...) with y ~ MvNormal(...). NOTE: y is now treated differently and so it might have undesirable effects, see FAQ on predict (the one above).
    • Sampling complexity (probably don't want to say too much about this here though; too broad of a topic):
      1. First thing to try: NUTS.
      2. Try using Gibbs.
  3. "How do I use a custom distribution in Turing.jl?"
    • Point them to the existing docs we have (which I believe needs to be updated).

There are probably many more; please suggest some:)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions