We are planning to do some research on EVM at my company, such as adding new opcodes related to vector computations and deep learning. We have an engineer who just has been assigned to this task and starting to learn.

I wonder whats the best way for someone that does not know all bells and whistles of the current EVM impelementation to learn the basics and start “tweaking it”.

We are looking at at a Python-based EVM implementation. Would py-evm be a good starting point, or there are simpler implementations?

What would a good, time-saving development strategy to run py-evm off-chain and start tweaking it? Are there any tools/scripts/documentation within py-evm that can help?

The best way for me to learn something is to implement it yourself. It helps to understand all caveats and to feel the code better. It’s not required to implement every behaviour but a parts. Also it’s very helpful to read and understand source code. It’s the only way to became a pro in short term.