IBM / neuro-vector-symbolic-architectures-raven

Example application of the paper "A Neuro-vector-symbolic architecture for Solving Raven's Progressive Matrices" published in Nature Machine Intelligence 2023.
GNU General Public License v3.0
18 stars 1 forks source link

jbsub command within run.sh AND run commands for Out-in grid constellation AND practical GPU memory #1

Closed yo3nglau closed 9 months ago

yo3nglau commented 1 year ago

Hi ~ Thank you for your amazing work !

Q1: jbsub command within run.sh When I made efforts to reproduce the work, I was confused by the jbsub command with its config arguments. As far as I know from the Internet, jbsub may be a command for job submission, while I have no idea how to run it. As an alternative, I commented this command and merely ran raven/main_nvsa_marg.py (with NVIDIA A100 80GB PCIe).

Q2: run commands for Out-in grid constellation I noticed that run commands within run.sh for Out-in grid constellation is the same as for Out-in center constellation, for now I could only replace --config in_center_single_out_center_single with --config in_distribute_four_out_center_single, I wonder if any other changes are needed, epochs or s, etc.

Q3: When I trained per constellation, I found that the practical memory usage reached ~50 GB (on singleton NVIDIA A100 80GB PCIe), which is distinct from the depiction in the code README.md and the published paper (32 GB). Is it normal? BTW, it seems that these two sources claim different computing resources (A100 and V100).

[alternative] Q4: prospective application of NVSA I have already partially reproduced the amazing work, that yields a quesition pertaining to its prospective application. Could you briefly remark to this point if convenient?

Thanks again for the reputed work. I am very confused and urgently look forward to receiving your patient guidance !

Best regards

MHersche commented 9 months ago

Hi,

Thanks for your interest in our work, and please apologize for the late response.

A1 jbsub is for our internal LSF scheduler. You can safely comment it out (or use maybe SLURM, depending on your environment).

A2 The s parameters can be found in the run.sh file. For some of the simpler constellations (like center, left-right, up-down, in-out single), you can potentially reduce the number of epochs.

A3 With the final end-to-end training on some of the constellations (especially 3x3 grid), we needed to switch to A100 80GB GPUs. For the simpler constellations, an A100 should be sufficient.

A4 Potential further applications might be ARC or visual question answering.

Best regards