Hey, thanks for your reply and sorry for my late response. The minibatches are a very helpful feature.
Anyways, I still made some research on the control of which and how many cores will be used. I figured out that it depends very much on the model, in some cases pymc3 even utilizes all 20 cores with the following setting:
os.environ[‘MKL_NUM_THREADS’] = ‘20’
os.environ[‘OMP_NUM_THREADS’] = ‘20’
os.environ[‘openmp’] = ‘True’
However, by using openMP there is even more possible than only setting the number of cores. For everybody who is interested in controling the CPU and core usage, some very helpful slides can be found here (especially slides 17-22): https://www.ixpug.org/documents/1506981937ixpugfall2017_21_up2.pdf