An abstract machine is an idealised model of a computer that can execute terms of some input language. In terms of complexity it lies between structural operational semantics and a virtual machine. An abstract machine does not have instructions (whereas a virtual machine does). It behaves like a fully deterministic evaluation strategy: its redexes are always "at the top" and do not require searching through the term.
Typically abstract machines perform only weak reduction on closed terms (i.e., they do not operate on function bodies), but there also exist machines for open/strong reduction.