一个较旧的例子显示,您曾经可以在ChatModule上运行_forward_tokens()来获取logits。API已经发生了变化,那么现在我应该如何做呢?谢谢!@CharlieFRuan
o4tp2gmn1#
感谢您的反馈,这周末我会查看一下。一个低级别的前向/采样API可能仍然有帮助;DebugChat可能是一个合适的地方放置它。
wtlkbnrh2#
感谢Charlie!有关这个的最新情况有什么更新吗?
elcex8rz3#
你好@caenopy,目前我们有 debug_chat.py ,这可能与你的需求相关。https://github.com/mlc-ai/mlc-llm/blob/main/python/mlc_llm/testing/debug_chat.py 。具体来说,运行前向传播并获取logits的代码位于mlc-llm/python/mlc_llm/testing/debug_chat.py第310行到第323行 a231ae1| self.add_sequence_func(kv_caches, 0) || self.begin_forward_func(kv_caches, ShapeTuple([0]), seq_len_shape) || logits, kv_caches=self.prefill_func(embedding, kv_caches, self.params) || self.end_forward_func(kv_caches) || returnlogits, kv_caches || || def_decode(self, token: int, kv_caches: Object): || embedding, _=self._embed( || tvm.nd.array(np.array([token]).astype("int32"), device=self.device) || ) || self.begin_forward_func(kv_caches, ShapeTuple([0]), ShapeTuple([1])) || logits, kv_caches=self.decode_func(embedding, kv_caches, self.params) || self.end_forward_func(kv_caches) || returnlogits |可能你需要根据你的具体需求对 debug_chat.py 进行一些定制,但请务必查看一下。谢谢!
debug_chat.py
ippsafx74#
感谢@MasterJH5574!这应该满足我的需求。当我尝试使用音乐模型的DebugChat方法时,遇到了另一个问题。我打开了另一个问题来解决这个问题,因为它似乎部分是特定于模型的。
4条答案
按热度按时间o4tp2gmn1#
感谢您的反馈,这周末我会查看一下。一个低级别的前向/采样API可能仍然有帮助;DebugChat可能是一个合适的地方放置它。
wtlkbnrh2#
感谢Charlie!有关这个的最新情况有什么更新吗?
elcex8rz3#
你好@caenopy,目前我们有
debug_chat.py
,这可能与你的需求相关。https://github.com/mlc-ai/mlc-llm/blob/main/python/mlc_llm/testing/debug_chat.py 。具体来说,运行前向传播并获取logits的代码位于mlc-llm/python/mlc_llm/testing/debug_chat.py
第310行到第323行 a231ae1
| self.add_sequence_func(kv_caches, 0) |
| self.begin_forward_func(kv_caches, ShapeTuple([0]), seq_len_shape) |
| logits, kv_caches=self.prefill_func(embedding, kv_caches, self.params) |
| self.end_forward_func(kv_caches) |
| returnlogits, kv_caches |
| |
| def_decode(self, token: int, kv_caches: Object): |
| embedding, _=self._embed( |
| tvm.nd.array(np.array([token]).astype("int32"), device=self.device) |
| ) |
| self.begin_forward_func(kv_caches, ShapeTuple([0]), ShapeTuple([1])) |
| logits, kv_caches=self.decode_func(embedding, kv_caches, self.params) |
| self.end_forward_func(kv_caches) |
| returnlogits |
可能你需要根据你的具体需求对
debug_chat.py
进行一些定制,但请务必查看一下。谢谢!ippsafx74#
感谢@MasterJH5574!这应该满足我的需求。当我尝试使用音乐模型的DebugChat方法时,遇到了另一个问题。我打开了另一个问题来解决这个问题,因为它似乎部分是特定于模型的。