(
self,
x: mx.array,
memory: mx.array,
draft: bool = False,
)
| 53 | self.delta = delta |
| 54 | |
| 55 | def _generate( |
| 56 | self, |
| 57 | x: mx.array, |
| 58 | memory: mx.array, |
| 59 | draft: bool = False, |
| 60 | ): |
| 61 | model = self.draft_model if draft else self.model |
| 62 | while True: |
| 63 | logits = model.decode(x[None], memory)[0, -1] |
| 64 | x = mx.argmax(logits, keepdims=True) |
| 65 | lognorm = mx.logsumexp(logits.astype(mx.float32)) |
| 66 | logprob = logits[x] - lognorm |
| 67 | yield x, logprob |
| 68 | |
| 69 | def generate( |
| 70 | self, |
no test coverage detected