Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to add multiple ComputeNodes of the same type in ComputeKernel? #50

Open
wugren opened this issue Sep 13, 2023 · 4 comments
Open

How to add multiple ComputeNodes of the same type in ComputeKernel? #50

wugren opened this issue Sep 13, 2023 · 4 comments

Comments

@wugren
Copy link
Contributor

wugren commented Sep 13, 2023

Currently, whether tasks are supported is determined by comparing ComputeTaskType, and ComputeTaskType defines a broad category of tasks, such as adding a local llm node. How to do this? There is no obvious specification in the code implementation.

@streetycat
Copy link
Contributor

maybe, we should add a param for the model-type, it should be match with the capacity of the node.

@glen0125
Copy link
Contributor

I propose that for the same type of tasks, different ComputeNodes may have varying proficiency in answering certain types of questions (QuestionType, such as travel, science, life, etc.), with the same prompt. The scheduler should have a scoring system in place. If a ComputeNode's response to a certain type of question is accepted, then the weight of this ComputeNode being called for that type of question should increase. This would mean that the probability of this ComputeNode being asked to answer this type of question in the future would be higher.

@waterflier
Copy link
Collaborator

We consider the local LLM as a type of LLM node, which does not necessitate the expansion of TaskType. Instead, we introduce a new computation node.

We can deterministically use a class of LLM by specifying different mode-names (parameters specified each time LLM is called). If the upper layer does not specify the LLM model name, it implies that this LLM call can run on any LLM model.

@streetycat
Copy link
Contributor

I have commit a Pull Request, we can define the rules in the is_support method for a ComputeNode to filter the tasks. And config a weight for the nodes.

When multiple nodes support one task, we select a random node to complete it in the schedule, and it's positive correlation between hit rate and weight.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants