{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/help-hardware-adaptive-efficient-latency","title":"HELP: Hardware-Adaptive Efficient Latency Prediction for NAS via Meta-Learning","arxiv_id":"2106.08630","date":"2021-06-16","proceeding":null,"authors":["Hayeon Lee","Sewoong Lee","Song Chong","Sung Ju Hwang"],"abstract":"For deployment, neural architecture search should be hardware-aware, in order to satisfy the device-specific constraints (e.g., memory usage, latency and energy consumption) and enhance the model efficiency. Existing methods on hardware-aware NAS collect a large number of samples (e.g., accuracy and latency) from a target device, either builds a lookup table or a latency estimator. However, such approach is impractical in real-world scenarios as there exist numerous devices with different hardware specifications, and collecting samples from such a large number of devices will require prohibitive computational and monetary cost. To overcome such limitations, we propose Hardware-adaptive Efficient Latency Predictor (HELP), which formulates the device-specific latency estimation problem as a meta-learning problem, such that we can estimate the latency of a model's performance for a given task on an unseen device with a few samples. To this end, we introduce novel hardware embeddings to embed any devices considering them as black-box functions that output latencies, and meta-learn the hardware-adaptive latency predictor in a device-dependent manner, using the hardware embeddings. We validate the proposed HELP for its latency estimation performance on unseen platforms, on which it achieves high estimation performance with as few as 10 measurement samples, outperforming all relevant baselines. We also validate end-to-end NAS frameworks using HELP against ones without it, and show that it largely reduces the total time cost of the base NAS method, in latency-constrained settings. Code is available at https://github.com/HayeonLee/HELP.","url_abs":"https://arxiv.org/abs/2106.08630v3","url_pdf":"https://arxiv.org/pdf/2106.08630v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"help-hardware-adaptive-efficient-latency","repo_url":"https://github.com/hayeonlee/help","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"meta-learning","task_name":"Meta-Learning"},{"task_slug":"architecture-search","task_name":"Neural Architecture Search"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2106.08630","atlas_url":"https://app.syntology.ai/?focus=2106.08630","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2106.08630"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/HayeonLee/HELP","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/hayeonlee/help","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":5,"ran_honours":1,"unverified":11},"by_repo_kind":{"official":{"samples":17,"ran":6,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"71fc6adbc8a9e344","entry":"GCN","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"71fc6adbc8a9e344"}},{"code_sha256_prefix":"c39b18210d6af850","entry":"GraphConvolution","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c39b18210d6af850"}},{"code_sha256_prefix":"96fdfe319609dfb1","entry":"InferenceNetwork","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"96fdfe319609dfb1"}},{"code_sha256_prefix":"91e2f33eece76754","entry":"Net","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"91e2f33eece76754"}},{"code_sha256_prefix":"e1ccc3331db22b7d","entry":"build_val_transform","repo":"HayeonLee/HELP","repo_kind":"official","path":"validate_imagenet.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/validate_imagenet.py","link_basis":"plan_row","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e1ccc3331db22b7d"}},{"code_sha256_prefix":"e268490969567b33","entry":"kl_diagnormal_stdnormal","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"e268490969567b33"}},{"code_sha256_prefix":"d3c44d4cc08c514e","entry":"Data","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d3c44d4cc08c514e"}},{"code_sha256_prefix":"dd8282187a60fb88","entry":"HELP","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"dd8282187a60fb88"}},{"code_sha256_prefix":"ef8967f45af71fa1","entry":"MetaLearner","repo":"hayeonlee/help","repo_kind":"official","path":"help.py","file_url":"https://github.com/hayeonlee/help/blob/HEAD/help.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ef8967f45af71fa1"}},{"code_sha256_prefix":"da7205ae31eaf8ba","entry":"build_activation","repo":"HayeonLee/HELP","repo_kind":"official","path":"ofa/utils/pytorch_modules.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/ofa/utils/pytorch_modules.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da7205ae31eaf8ba"}},{"code_sha256_prefix":"1d5210b89b90aa66","entry":"flat","repo":"HayeonLee/HELP","repo_kind":"official","path":"utils.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1d5210b89b90aa66"}},{"code_sha256_prefix":"f060e6240188a921","entry":"get_bn_param","repo":"HayeonLee/HELP","repo_kind":"official","path":"ofa/utils/my_modules.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/ofa/utils/my_modules.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f060e6240188a921"}},{"code_sha256_prefix":"1cf245a941c1244c","entry":"get_minmax_latency_index","repo":"HayeonLee/HELP","repo_kind":"official","path":"utils.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1cf245a941c1244c"}},{"code_sha256_prefix":"9b55ec99f8807af5","entry":"log_prob","repo":"HayeonLee/HELP","repo_kind":"official","path":"utils.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9b55ec99f8807af5"}},{"code_sha256_prefix":"addfbda3077115a3","entry":"make_divisible","repo":"HayeonLee/HELP","repo_kind":"official","path":"ofa/utils/pytorch_modules.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/ofa/utils/pytorch_modules.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"addfbda3077115a3"}},{"code_sha256_prefix":"b0717d29ccfec107","entry":"str2bool","repo":"HayeonLee/HELP","repo_kind":"official","path":"parser.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/parser.py","link_basis":"harvester_set","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b0717d29ccfec107"}},{"code_sha256_prefix":"8ce900951a7ddd54","entry":"str2list","repo":"HayeonLee/HELP","repo_kind":"official","path":"parser.py","file_url":"https://github.com/HayeonLee/HELP/blob/HEAD/parser.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8ce900951a7ddd54"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}